欢迎来到天天文库
浏览记录
ID:25583093
大小:381.53 KB
页数:192页
时间:2018-11-21
《程序员-软考专用复习资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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(s); p=t;
3、 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(s); p=p->r
6、child; }//endif }//endwhile }//PreOrderUnrec2.中序遍历非递归算法#definemaxsize100typedefstruct{ BitreeElem[maxsize]; inttop;}SqStack;voidInOrderUnrec(Bitreet){ SqStacks; StackInit(s); p=t; while(p!=null
7、
8、!StackEmpty(s)) { while(p!=null)
9、//遍历左子树 { push(s,p); p=p->lchild; }//endwhile if(!StackEmpty(s)) { p=pop(s); visite(p->data); //访问根结点 p=p->rchild; //通过下一次循环实现右子树遍历 }//endif }//endwhile}//InOrderUnrec3.后序遍历非递归算
10、法#definemaxsize100typedefenum{L,R}tagtype;typedefstruct{ Bitreeptr; tagtypetag;}stacknode;typedefstruct{ stacknodeElem[maxsize]; inttop;}SqStack;//后序遍历voidPostOrderUnrec(Bitreet){ SqStacks; stacknodex; StackInit(s); p=t; do { while(p!=null) //遍历左子树
11、 { 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->data); //tag为R,表示右子树访问完毕,故访问根结点 }
12、
此文档下载收益归作者所有