- 1、本文档共169页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构C_new[精选]
数据结构概念的三个方面 数据元素之间的逻辑关系 数据元素在计算机中的存储方式 在这些数据元素上定义的运算的集合。 数据的逻辑结构 数据的逻辑结构有时可直接称为数据结构。 数据的逻辑结构的三种基本类型:线性表、树和图。 逻辑结构分类 两大类: (一)线性结构(线性表) 数据元素之间的逻辑关系可以用一个线性序列简单地表示出来。 线性表是典型的线性结构,它的数据元素只按先后次序联接。 有栈、队列、字串、数组和文件等方式。 (二)非线性结构(树,图) 不满足线性结构特点的数据结构称为非线性结构。 树、图等是非线性结构。 树中的数据元素是分层次的纵向联接。 图中的数据元素则有各种各样复杂联接。 其它种类的数据结构由这三种基本结构派生的。 数据结构运算 插入:在数据结构中的指定位置上插入新的数据元素; 删除:根据一定的条件,将某个结点从数据结构中删除; 更新:更新数据结构中某个指定结点的值; 检索:在给定的数据结构中,找出满足一定条件的结点来,条件可以是某个或几个数据项的值; 排序:根据某一给定的条件,将数据结构中所有的结点重新排列顺序等。 数据结构运算操作分类 加工型操作:操作改变了存储结构的值(如插入、删除、更新等) 引用操作:操作只是查询或求得结点的值(如检索等)。 评价算法 正确性 运算时间 存储空间 线性表 表中的每个元素呈线性关系,除第一个外,都有一个直接前趋(predecessor),除最后一个元素外,都仅有一个后继(successor)。 1.线性表的逻辑结构 线性表L用符号表示为: L=(a1,a2,a3,.. ai...,an) 线性表也可以正式定义为: 若数据结构 L=(D,R)是一个线性表, 则:D是包括a1,a2,a3 .....an 等元素的集合。R中只包含一个关系,即R={ai-1,ai | ai-1,ai∈D, 2≤i≤n }。 关系 ai-1,ai 给出了元素的一种先后次序。a1 称为表的线性起始结点,an 为表的终结点。 2.线性表的存储结构 存储结构:顺序存储结构和链接存储结构。 具有顺序存储结构的线性表称为顺序表 用一组地址连续的存储单元依次存储线性表中的每个数据元素。 具有链接存储结构的线性表称为线性链表。 用一组任意的存储单元来存储线性表中数据元素的,这组存储单元可以是连续的,也可以是不连续的。通常亦称为链表。 常用的链表有单链表、循环链表和双向链表。 3.线性表的基本运算 常用的操作有 插入、删除、修改、读值、检索和排序等。 线性表还可以进行一些更为复杂的操作。 将两个或两个以上的具有相同数据对象的线性表合并成一个线性表, 将一个线性表拆成若干个线性表, 复制一个线性表等等。 C++编写类程序的回顾 建立一个win32 Console工程 建立类的说明—类的头文件:(File?new , c++ header file)定义类 新建CPP程序,(file?new , c++ source file )编写类的方法代码,包含第2步定义的头文件, 实现类的各方法 新建CPP程序,编写主函数,包含类的头文件,调用编写的类,完成程序工作。 类定义 class ClassName { 类变量定义?又称为属性 类构造方法定义,构造方法与类的名字一样 类的其他方法的定义,和函数的定义 }; ?千万不要忘记分号 class List { int length; int *data; int volume; public:List(int n) { length = 0; volume=n; data = new int[n]; } }; 数据结构运算 插入:在数据结构中的指定位置上插入新的数据元素; 删除:根据一定的条件,将某个结点从数据结构中删除; 更新:更新数据结构中某个指定结点的值; 检索:在给定的数据结构中,找出满足一定条件的结点来,条件可以是某个或几个数据项的值; 排序:根据某一给定的条件,将数据结构中所有的结点重新排列顺序等。 线形表类设计—分析 对象的属性: 自己现有的数据:存放在一个数组中 现有数据的个数:长度 能存放多少数据:容量 动作(Method) 构造方法:传递表的容量,创建一个空表,长度=0, 插入:新数据插入后,数据还是有序的,长度增1 增加:在表的尾部增加一个数据,长度增1 查找:根据键值,找到数据在表中的位置,并返回,找不到,返回-1 更新:用指定的值更新表中指定位置的元素的值 排序:将表中元素按从小到大排序。 定义顺序表的类—编写接口文件ArrayLineList
您可能关注的文档
- 数字逻辑试卷1答案[精选].doc
- 数字逻辑课后答案[精选].ppt
- 数学与体育参考资料.doc
- 数学与应用数学2010级、信息与计算科学2010级《数学实验任务》实验任务[精选].doc
- 数学与思考[精选].doc
- 数字逻辑电路 2逻辑函数及其简化[精选].ppt
- 数学与文学课件.ppt
- 数学与经济金融课件[精选].ppt
- 数学中的一般化与特殊化例谈[精选].doc
- 数学[精选].ppt
- 2025年新能源汽车废旧电池回收利用产业市场格局与竞争态势研究报告.docx
- 2024年河南推拿职业学院招聘笔试真题.docx
- 2025年国际教育交流项目学生跨文化适应能力培养策略与心理辅导研究.docx
- 2025年矿山尾矿处理与生态环境恢复技术创新研究报告.docx
- 2025年金融租赁公司创新业务模式在风险管理中的应用与效果评估.docx
- 2025年工业互联网平台在汽车零部件创新中的应用与数字化成效分析报告.docx
- 2024年河南新乡医学院辅导员招聘笔试真题.docx
- 江数技术招聘考察考试真题2024.docx
- 2025年电商平台大数据分析在用户行为数据整合中的应用报告.docx
- 工业互联网平台安全多方计算技术在智慧城市安全防护中的应用报告.docx
文档评论(0)