数据结构知识点总结整理.pdf

数据结构知识点总结整理.pdf

ID:52514634

大小:1.21 MB

页数:82页

时间:2020-03-28

数据结构知识点总结整理.pdf_第1页
数据结构知识点总结整理.pdf_第2页
数据结构知识点总结整理.pdf_第3页
数据结构知识点总结整理.pdf_第4页
数据结构知识点总结整理.pdf_第5页
资源描述:

《数据结构知识点总结整理.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构知识点总结整理0、常考基础必知必会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、二叉树三种遍历的非递归算法(背诵版)本贴给出二叉树先序、中序、后序三种遍历的非递归算法,此三个算法可视为标准算法,直接用于考研答题。1.先序遍历非递归算法#definemaxsize100typedefstruct{BitreeElem[maxsize];inttop;}SqStack;voidPreOrderUnrec(Bitreet){SqStacks;StackInit(s);

3、p=t;while(p!=null

4、

5、!StackEmpty(s)){while(p!=null)//遍历左子树{visite(p->data);push(s,p);p=p->lchild;}//endwhileif(!StackEmpty(s))//通过下一次循环中的内嵌while实现右子树遍历{p=pop(s);p=p->rchild;}//endif}//endwhile}//PreOrderUnrec2.中序遍历非递归算法#definemaxsize100typedefstruct{BitreeElem[maxsize];inttop;}SqStack;voidIn

6、OrderUnrec(Bitreet){SqStacks;StackInit(s);p=t;while(p!=null

7、

8、!StackEmpty(s)){while(p!=null)//遍历左子树{push(s,p);p=p->lchild;}//endwhileif(!StackEmpty(s)){p=pop(s);visite(p->data);//访问根结点p=p->rchild;//通过下一次循环实现右子树遍历}//endif}//endwhile}//InOrderUnrec3.后序遍历非递归算法#definemaxsize100typedefenum{L,R}t

9、agtype;typedefstruct{Bitreeptr;tagtypetag;}stacknode;typedefstruct{stacknodeElem[maxsize];inttop;}SqStack;//后序遍历voidPostOrderUnrec(Bitreet){SqStacks;stacknodex;StackInit(s);p=t;do{while(p!=null)//遍历左子树{x.ptr=p;x.tag=L;//标记为左子树push(s,x);p=p->lchild;}while(!StackEmpty(s)&&s.Elem[s.top].tag==

10、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;}}while(!StackEmpty(s));}//PostOrderUnrec4.层次遍历算法//二叉树的数据结构structBinaryTree{intvalue;//不写模板了,暂时用整形代替节点的数据类型BinaryTree*left;BinaryTree*right;};BinaryTree*ro

11、ot;//已知二叉树的根节点//层次遍历voidLevel(constBinaryTree*root){Queue*buf=newQueue();//定义一个空队列,假设此队列的节点数据类型也是整形的BinaryTreet;//一个临时变量buf.push_back(root);//令根节点入队while(buf.empty==false)//当队列不为空{p=buf.front();//取出队列的第一个元素cout<value<<'';if(p->left!=NULL)//若左子树不空,则令其入队{q.p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。