程序员-软考专用复习资料全.doc

WORD格式整理版 学习好帮手 常考基础必知必会 排序: 排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法;   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 100 typedef 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??? }//PreOrderUnrec 2.中序遍历非递归算法 #define maxsize 100 typedef 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 }//InOrderUnrec 3.后序遍历非递归算法 #define maxsize 100 typedef enum{L,R} tagtype; typedef struct { ??? Bitree ptr; ??? tagtype tag; }stacknode; typedef struct { ??? stacknode Elem[maxsize]; ??? int top; }SqStack; //后序遍历 void PostOrderUnrec(Bitree t) { ??? SqStack s; ??? stacknode x; ??? StackInit(s); ??? p=t; ?? ??? do ??? { ??????? while (p!=null)?????? //遍历左子树 ??

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档