下载后可任意编辑程序员软考专用复习资料下载后可任意编辑常考基础必知必会A.排序: 排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区别? E. 多态,举例说明;overload 和override 的区别?下载后可任意编辑 F. 字符串有关的函数,比如让你写一个拷贝字符串的函数啊,或者字符串反转啊什么的。strcpy 和 memcpy? G. 继承、多继承? H. 面对对象有什么好处? I. 说说 static 的与众不同之处,假如一个变量被声明为 static,它会被分配在哪里?在什么时候分配空间等? J. 什么是虚函数、纯虚函数、虚的析构函数,用途? K. 内存泄漏及解决方法?下载后可任意编辑 网络部分: OSI 模型 7 层结构,TCP/IP 模型结构? B. TCP/UDP 区别? C. TCP 建立连接的步骤? D. 香农定理?二叉树三种遍历的非递归算法(背诵版) 1.先序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize];下载后可任意编辑 int top;}SqStack;void PreOrderUnrec(Bitree t){ SqStack s; StackInit(s); p=t; while (p!=null || !StackEmpty(s)) { while (p!=null) //遍历左子树 {下载后可任意编辑 visite(p->data); push(s,p); p=p->lchild; }//endwhile if (!StackEmpty(s)) //经过下一次循环中的内嵌 while 实现右子树遍历 { p=pop(s); p=p->rchild; }//endif 下载后可任意编辑 }//endwhile }//PreOrderUnrec2.中序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize]; int top;}SqStack;void InOrderUnrec(Bitree t){ SqStack s;下载后可任意编辑 StackInit(s); p=t; while (p!=null || !StackEmpty(s)) { while (p!=null) //遍历左子树 { push(s,p); p=p->lchild; }//endwhile if (!StackEmpty(s))下载后可任意编辑 { p=pop(s); visite(p->data); //访问根结点 p=p->rchild; //经过下一次循环实现右子树遍历 }//endif }//endwhile}//InOrderUnrec3.后序遍历非递归算法#define maxsize 100typedef enum{L,R} tagtype;下载后可任意编辑typedef struct { Bitree ptr; tagtype tag;}stacknode;typedef struct{ stacknode Elem[maxsize]; int top;}S...