摘要:
树是一种非线性结构,除它的基本定义和基本术语,我们还要学会其相关性质,其中以二叉树的性质为例:性质1 在二叉树的第i层上至多有2i-1个节点(i>=1);性质2 深度为k的二叉树至多有2k-1个结点(k>=1)性质3 对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1 阅读全文
摘要:
本章主要学习的是串和数组,首先是串的模式匹配算法,著名的匹配算法有BF算法和KMP算法,其中BF算法粗暴简单,时间复杂度为O(m*n);KMP算法较为复杂,时间复杂度为O(m+n)。老师以病毒感染检测的案例,让我大概明白了模式匹配,所以作业的串与模式匹配算法相对简单,我用的是BF算法,(KMP算法我 阅读全文
摘要:
我最开始接触栈和队列是在上学期的计概课上,但当时我也仅仅停留在队列是一种FIFO的线性表,而栈是一种FILO的线性表,而这周我学会了栈和队列的基本操作。 栈的基本操作:构造一个空栈,销毁栈,清空栈,判断空栈,栈的长度,返回栈元素,入栈,出栈,访问栈内元素,队的基本操作同理。 栈的顺序存储存储:存储空 阅读全文
摘要:
这章我们主要学习的是线性表的两类不同的存储结构,分别是顺序存储结构(顺序表)和链式存储结构(链表)。 对于顺序表,可借助数组来表示,可以随机存取元素;对于链表,可依靠指针来表示,但存取要从头指针开始,顺藤摸瓜。 在比较顺序表和链表之间,主要有几个方面: 1、存储空间:顺序表的存储空间必须要提前分配, 阅读全文