0
点赞
收藏
分享

微信扫一扫

计算机二级C语言概念笔记概念笔记4.1(数据结构篇)

624c95384278 2022-02-06 阅读 66

数据结构知识点回顾:

二叉树的遍历主要有三种:

(1)先(根)序遍历(根左右)

(2)中(根)序遍历(左根右)

(3)后(根)序遍历(左右根)

举个例子:

先(根)序遍历(根左右):A B D H E I C F J K G

中(根)序遍历(左根右) : D H B E I A J F K C G

后(根)序遍历(左右根) : H D I E B J K F G C A

以后(根)序遍历为例,每次都是先遍历树的左子树,然后再遍历树的右子树,最后再遍历根节点,以此类推,直至遍历完整个树。

命题:给定了二叉树的任何一种遍历序列,都无法唯一确定相应的二叉树。但是如果知道了二叉树的中序遍历序列和任意的另一种遍历序列,就可以唯一地确定二叉树。

个人总结:先由先序遍历或后序遍历找到根再由中序遍历分左右,下面继续再找根再找左右。

1、

答:CBA 

二叉树图形如下:

2、

 答:ABC

答:A

 

 

 

 栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。

栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。当压入第一个元素时,TOP指针指向m+1-1 = m当压入第二个元素时,TOP指针指向m+1-2 = m-1。

以此类推,当压入第N个元素时,TOP指针指向m+1-N = 20则N = m+1-20 = m-19。栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。

一般平时是从栈底向栈顶压,这道题目中是倒过来的,这个栈是从栈顶向栈底压的,所以结果是m-19。top是指向最后一个元素上面的那个,所以是m+1 。

也就是说,栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。

当压入第一个元素时,TOP指针指向m+1-1 = m

当压入第二个元素时,TOP指针指向m+1-2 = m-1

......

以此类推,

当压入第N个元素时,TOP指针指向m+1-N = 20

则N = m+1-20 = m-19。

 

  • 为了进行对分查找,要求满足两个条件:(1)必须迅速存储及使用数组存储链表是不能进行对分查找的,(2)数据由小到大或由大到小排序(即有序)。
  • 算法时间复杂度是指执行算法所需要的计算工作量,是基本运算次数。与算法程序的长短和算法执行所需要的时间无关
  • 希尔排序最坏的情况比较次数为n的r次方(1小于r小于二)。在最坏情况下,希尔排序的时间复杂度比直接插入排序的时间复杂度要小。
  •  
  • 入栈的顺序规律是排在前面的先进,排在后面的后进。
  • ①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);
  • ②置TOP=TOP+1(栈指针加1,指向进栈地址);
  • ③S(TOP)=X,结束(X为新进栈的元素);
  • 出栈的顺序规律是排在前面的先出,排在后面的后出。
  • ①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);
  • ②X=S(TOP),(退栈后的元素赋给X):
  • ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。
  • 栈允许在同一端进行插入和删除操作。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。
     

未完待续……

举报

相关推荐

0 条评论