欢迎来到天天文库
浏览记录
ID:32604772
大小:59.82 KB
页数:15页
时间:2019-02-13
《软考程序员常考知识点复习笔记汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软考程序员常考知识点复习笔记汇总常考基础知识必会 A.排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B.查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C.链表和数组的区别,在什么情况下用链表什么情况下用数组? D.栈和队列的区别? E.多态,举例说明;overload和override的区别? F.字符串有关的函数,比如让你写一个拷贝字符串的函数啊,或者字符串反转啊什么的。strcpy和memcpy? G.继承、多继承? H.面向对象有什
2、么好处? I.说说static的与众不同之处,如果一个变量被声明为static,它会被分配在哪里?在什么时候分配空间等? J.什么是虚函数、纯虚函数、虚的析构函数,用途? K.内存泄漏及解决方法?网络部分: OSI模型7层结构,TCP/IP模型结构? B.TCP/UDP区别? C.TCP建立连接的步骤?D.香农定理?二叉树三种遍历的非递归算法(背诵版) 1.先序遍历非递归算法 #definemaxsize100 typedefstruct { BitreeElem[maxsi
3、ze]; inttop; }SqStack; voidPreOrderUnrec(Bitreet) { SqStacks; StackInit(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实现右子树遍历
6、 { p=pop(s); p=p->rchild; }//endif }//endwhile }//PreOrderUnrec2.中序遍历非递归算法 #definemaxsize100 typedefstruct { 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 }//endwhile }//InOrderUnrec 3.后序遍历非递归算法 #definemaxsize100 typedefenum{L,R}tagt
10、ype; typedefstruct { Bitreeptr; tagtypetag; }stacknode; typedefstruct { stacknodeElem[maxsize]; inttop; }SqStack; //后序遍历 voidPostOrderUnrec(Bitreet) { SqStacks; stacknodex; StackInit(s); p=t; do { while(p!=null)//遍历左子树 { x.ptr=p;
11、 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,表示右子树访问完毕,故访问根结点 } if(!StackEmpty(s)) { s.Elem[s.top].tag=R;//遍历右子树 p=s.Elem[s.top].ptr->rchild; } }wh
12、ile(!StackEmpty(s)); }//PostOrderUnrec4.层次遍历算法 //二叉树的数据结构 structBinaryTree { intvalue;//不写模板了,暂时用整形代替节点的数据类型 BinaryTree*left; BinaryTree*right; }; BinaryTree*root;//已知二叉树的根节点 //层次遍历 voidLevel(constBinaryTree*root) { Queue*buf=newQ
此文档下载收益归作者所有