数据结构C语言版第二版(名师严蔚敏最新力作)人民邮电出版社

2022年3月29日 星期二 课堂笔记

第四章 串、数组和广义表

1、串的基本概念

(1)串的结构S="ABC"

(2)串的长度:数据元素的个数

(3)子串与主串:是一对相互包含的串

(4)字符位置与子串位置:求解串的字符的位置,求解子串首字符在主串出现的位置。

(5)串相等:两个串的长度相同,对应位置的字符也相同

(6)空串与空格符:长度为0的串,包含若干空格字符的串

2、了解一个病毒的实例。

     实际要掌握子串的求解

3、掌握串的类型定义包含三要素:数据对象、数据关系、基本操作

4、串的存储结构

将串分为两个结构,分别是顺序存储和链式存储

要求掌握这两个结构的区别:(期末考)

(1)顺序存储:逻辑上相邻,物理上也相邻

物理存储:逻辑上相邻,物理上不一定相邻

(2)顺序存储的存储密度为1而链式存储的存储密度小于1

(3)顺序存储采用数组存放,而链式存储采用指针存放

5、已知两个串:一个是主串,一个是子串,要求掌握两个算法完成子串在主串的位置求解

(1)BF算法:子串每一趟匹配只能右移一位

(2)KMP算法:子串每一趟匹配可以右移多位,主要根据子串的首字符来判断右移的位移

2022年4月4日 课堂笔记 星期一

4.4数组

数组(m,n) m行,n列

(1)按列存放存储

LOC  (i,j)=基地址+((i-1)*m+j)*L

L为每个元素占的存储单元

(2)按行存放存储

LOC(i,j)=基地址+((j-1)*m+i)*L

L为每个元素占的存储单元

练习:

设有一个二维数组A[m][n]按行优先顺序存储,假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?

设数组元素A[i,j]存放在起始地址为LOC(i,j)的存储单元中

∵LOC(2,2)=LOC(0,0)+2*

∴∴

4.5广义表

1.

(1)求表头GetHead(L):非空广义表的第一个元素,可以是一个 单元素,也可以是一个子表

(2)求表尾GetTail(L)   :非空广义表除去表头之外,由其余元素构成的表

2.掌握广义表的两种求解方式:H(),T().

2022年4月5日 星期二 课堂笔记

第五章  树和二叉树

5.1 树和二叉树的定义

5.1.1 树的定义

树是n个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:

(1)有且仅有一个称之为根的结点;

(2)除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1,T2,...,Tm,其中每一个集合本身又是一棵树,并且称为根的子树

5.1.2  树的基本术语

三个结点 有 五种画法

利用二叉树求解表达式的值

2022年4月11日 星期一 课堂笔记

 

2022.4.19 课堂笔记

5.7 哈夫曼树及其应用

5.7.1 哈夫曼树的基本概念

路径:由一结点到另一结点间的分支所构成 

路径长度:路径上的分支数目 

带权路径长度:结点到根的路径长度与结点上权的乘积 

树的带权长度:树中所有叶子结点的带权路径长度之和

哈夫曼树:带权路径长度最小的树

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aging88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值