计算机学科专业基础综合考试内容包括:数据结构、计算机组成原理、操作系统和计算机网络。数据结构和计算机组成原理均占45分,操作系统35分,计算机网络25分。今天文哥给大家带来数据结构的相关知识点3,一起来看下吧
01
完全二叉树中
有关结点个数计算
完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树。
完全二叉树的叶子数为(n+1)/2取下整。
02
二叉树的遍历
遍历的过程就是把非线性结构的二叉树中的结点排成一个线性序列的过程。
二叉树遍历方法可分为两大类,一类是“宽度优先”法,即从根结点开始,由上到下,从左往右一层一层的遍历;另一类是“深度优先法”,即一棵子树一棵子树的遍历。
从二叉树结构的整体看,二叉树可以分为根结点,左子树和右子树三部分,只要遍历了这三部分,就算遍历了二叉树。
设D表示根结点,L表示左子树,R表示右子树,则DLR的组合共有6种,即DLR,DRL,LDR,LRD,RDL,RLD。
若限定先左后右,则只有DLR,LDR,LRD三种,分别称为先(前)序法(先根次序法),中序法(中根次序法,对称法),后序法(后根次序法)。三种遍历的递归算法如下:
1.先序法(DLR)
若二叉树为空,则空操作,否则:访问根结点,先序遍历左子树,先序遍历右子树。
2.中序法(LDR)
若二叉树为空,则空操作,否则:中序遍历左子树,访问根结点,中序遍历右子树.
3.后序法(LRD)
若二叉树为空,则空操作,否则:后序遍历左子树,后序遍历右子树,访问根结点。
03
线性表中单链表
相关算法设计与实现
一些基础但又重要的单链表相关算法,如:
1.打印单链表,voidPrintList(Listlist);使用一个指针遍历所有链表节点。
2.两个升序链表,打印tarList中的相应元素,这些元素的序号由SeqList指定,voidPrintLots(ListtarList,ListseqList);使用两个指针分别遍历两个链表,每次取出序列链表的一个序号后,根据该序号,到达目标链表指定节点。
3.两个升序链表的交集,ListIntersect(Listl1,Listl2);
4.两个升序链表的并集,ListJoin(Listl1,Listl2);
5.单链表就地置逆,voidReverse(Listl);使用三个指针表示前驱,当前和后继节点,每次将当前节点的Next指向前驱节点,然后向后遍历直到链表末尾。
以上是文哥整理的"计算机考研知识点"内容,更多计算机专业考研资讯内容,敬请