- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法第二章清华大学出版社东赵玉兰
第2章 基本数据结构 2.1 线性表 2.2 数组 2.3 字符串 2.1 线性表——ADT线性表 线性表(Linear List) 例1 26个大写英文字母组成的字母表 (A,B,C,…,Z) 例2 某个学生宿舍学生姓名 (“wan”,“li”,“zhao”,“ye”,“hao”,“jia”) 例3 学生信息情况登记表 2.1 线性表——ADT线性表 定义 由 n (n?0) 个性质相同的数据元素 a1, a2, …, an 组成的有限序列 数据元素的个数 n (n?0) 定义为表的长度,当 n=0 时称为空表 常常将非空的线性表(n0)记作: L=( a1, a2, …, ai, …, an ) 注意:这里的数据元素 ai ( 1?i ?n ) 只是一个抽象的符号,其具体含义在不同的情况下可以不同。 2.1 线性表——ADT线性表 线性表的逻辑特征 有限性:线性表中数据元素的个数是有穷的 相同性:线性表中数据元素的类型是同一的 顺序性 有且仅有一个开始结点 a1,它没有前趋,而仅有一个后继 a2 有且仅有一个终端结点 an,它没有后继,而仅有一个前趋 an-1 其余的内部结点 ai (2?i ?n-1) 都有且仅有一个前趋 ai-1 和一个后继 ai+1 线性表的逻辑结构是一种典型的线性结构 2.1 线性表——ADT线性表 抽象数据类型线性表的定义 ADT List { Data 数据元素表 size:数据元素的个数 Operation Constructor Process:创建空表 Clear Process:清空线性表 IsEmpty Process:判断线性表是否为空 Output:若线性表为空,返回true,否则返回false 2.1 线性表——ADT线性表 Length Process:求线性表中元素个数 Output:返回线性表中元素个数 GetElem Input:要取出的元素的位置 Process:取出指定位置上的元素 Output:返回取出的元素值 Locate Input:要定位的元素 Process:为指定元素定位 Output:若线性表中有给定元素,返回元素位置,否则 返回-1 2.1 线性表——ADT线性表 Insert Input:被插入元素值及其位置 Process:将给定元素插入指定位置 Delete Input:被删除元素的位置 Process:若线性表中有给定元素,则删除它 Prior Input:要求前驱的元素 Process:求给定元素的直接前驱 Next Input:要求后继的元素 Process:求给定元素的直接后继 } // List 2.1 线性表——ADT线性表 例4 假设利用线性表 LA 和 LB 分别表示两个集合A 和 B(线性表中的数据元素即为集合中的成员),现求一个新的集合 A∩B,并用LA表示结果集合。 2.1 线性表——ADT线性表 例5 假设利用线性表 LA 和 LB 分别表示两个集合A 和 B(线性表中的数据元素即为集合中的成员),现求一个新的集合 A∪B,并用LA表示结果集合。 2.1 线性表——线性表的顺序存储 顺序表 定义 顺序存储的线性表 把线性表的元素按逻辑顺序依次存放在一组地址连续的存储单元里 2.1 线性表——线性表的顺序存储 例:(34, 23, 67, 82) 2.1 线性表——线性表的顺序存储 存储结构与逻辑结构的关系 2.1 线性表——线性表的顺序存储 2.1 线性表——线性表的顺序存储 const int MaxListSize=100; class SeqList{ DataType data[MaxListSize]; int size; //元素的个数 public:
文档评论(0)