欢迎来到天天文库
浏览记录
ID:26033262
大小:381.03 KB
页数:192页
时间:2018-11-24
《程序员复习资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、常考基础必知必会 A.排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B.查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C.链表和数组的区别,在什么情况下用链表什么情况下用数组? D.栈和队列的区别? E.多态,举例说明;overload和override的区别? F.字符串有关的函数,比如让你写一个拷贝字符串的函数啊,或者字符串反转啊什么的。strcpy和memcpy? G.继承、多继承? H.面向对象有什么好处? I.说说static的与众不同之处,如果一个变量被声明为static,它
2、会被分配在哪里?在什么时候分配空间等? J.什么是虚函数、纯虚函数、虚的析构函数,用途? K.内存泄漏及解决方法? 网络部分: OSI模型7层结构,TCP/IP模型结构? B.TCP/UDP区别? C.TCP建立连接的步骤? D.香农定理?二叉树三种遍历的非递归算法 1.先序遍历非递归算法#definemaxsize100typedefstruct{ BitreeElem[maxsize]; inttop;}SqStack;voidPreOrderUnrec(Bitreet){ SqStacks; StackInit
3、(s); p=t; while(p!=null
4、
5、!StackEmpty(s)) { while(p!=null) //遍历左子树 { visite(p->data); push(s,p); p=p->lchild; }//endwhile if(!StackEmpty(s)) //通过下一次循环中的内嵌while实现右子树遍历 { p=pop
6、(s); p=p->rchild; }//endif }//endwhile }//PreOrderUnrec2.中序遍历非递归算法#definemaxsize100typedefstruct{ BitreeElem[maxsize]; inttop;}SqStack;voidInOrderUnrec(Bitreet){ SqStacks; StackInit(s); p=t; while(p!=null
7、
8、!StackEmpty(s)) {
9、 while(p!=null) //遍历左子树 { push(s,p); p=p->lchild; }//endwhile if(!StackEmpty(s)) { p=pop(s); visite(p->data); //访问根结点 p=p->rchild; //通过下一次循环实现右子树遍历 }//endif
10、 }//endwhile}//InOrderUnrec3.后序遍历非递归算法#definemaxsize100typedefenum{L,R}tagtype;typedefstruct{ Bitreeptr; tagtypetag;}stacknode;typedefstruct{ stacknodeElem[maxsize]; inttop;}SqStack;//后序遍历voidPostOrderUnrec(Bitreet){ SqStacks; stacknodex; StackInit(s); p=t;
11、 do { while(p!=null) //遍历左子树 { x.ptr=p; x.tag=L; //标记为左子树 push(s,x); p=p->lchild; } while(!StackEmpty(s)&&s.Elem[s.top].tag==R) { x=pop(s); p=x.ptr; visite(p->d
12、ata); //tag为R,表示右子树访问完毕,故访问根结点 } if
此文档下载收益归作者所有