数据结构与算法C语言版—— 数据结构的详细介绍
1、基本概念和术语
1.数据:数据是信息的载体,能够被计算机识别、存储和加工处理,数据包括文字、表格、图像等。
2.信息:信息是数据的内涵,即数据所表达的意义。
eg:通过统计后产生某课程的平均分是86,这里86是数据,表示某课程的平均分的信息。
3.数据的基本单位是数据元素(有时称为元素、节点或记录等),通常把数据元素作为一个整体进行处理。
eg:一个班的学生数据包括张三、李四等数据元素。
4.数据元素(data element):数据的基本单位,也称结点(node)或记录(record),有时一个数据元素包括可以由若干个数据项组成。
5.数据对象是具有相同类型的数据元素的集合
6.数据项:有独立含义的最小单位,也称域、属性、字段。
三者之间的关系:数据 > 数据元素 > 数据项
eg:学生表 > 个人记录 > 学号、姓名
7、数据结构是相互之间存在一种或多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系,这种关系构成了某种结构。数据元素之间的关系多种多样,这里只讨论数据元素之间的相邻关系。
8.数据结构包括:数据逻辑结构,数据储存结构,数据运算。
2、逻辑结构
1.定义:数据元素之间的逻辑关系的整体称为数据的逻辑结构,逻辑关系主要是指数据元素之间的相邻关系。
2.逻辑关系的基本结构划分
A.划分方法一 :
线性结构:有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。 例如:线性表、栈、队列、串。
非线性结构:一个结点可能有多个直接前趋和直接后继。 例如:树、图。
B.划分方法二:
集合:包含的所有数据元素同属于一个集合,数据元素之间没有关系。
线性结构:包含的所有数据元素之间存在一一对应关系。
树形结构:包含的所有数据元素之间存在一对多的关系。
图形结构:包含的所有数据元素之间存在多对多的关系,也称网状结构。
3、存储结构
1.定义:数据逻辑结构在计算机存储器中表示称为数据的存储结构(或存储表示),也称为物理结构。通常情况下,同一种逻辑结构可以设计多种存储结构,在不同的存储结构中,实现同一种运算的算法可能不同。
2.分类
A.顺序存储结构
定义:
顺序存储结构是采用一组连续的存储单元存放所有的数据元素,而且逻辑上相邻的元素的存储单元也相邻。也就是说,元素之间的逻辑关系由存储单元地址间的关系隐含表示,即顺序存储结构将数据的逻辑结构直接映射到存储结构。
优点:顺序存储结构的主要优点是节省内存空间,可以实现数据元素的随机取放。
缺点:顺序存储结构的主要缺点是不便于修改,在对元素进行插入或删除运算时需要移动一系列的元素。
B.链式存储结构
定义:链式存储结构每个节点单独存储,无需占用一整块存储空间,但是为了表示结点之间的关系,给每个结点附加指针字段,用于存放相邻节点的存储地址。每个结点由两部分组成,一部分用于存放结点的数据,另一部分用于存放后续结点的首地址。
优点:链式存储结构的主要优点是便于修改,在对元素进行插入或删除运算时,只需要修改结点的指针域,不必移动结点。
缺点:链式存储结构的主要缺点是存储空间利用率较低,因为分配给数据元素的存储单元中有一部分被用来存放结点之间的逻辑关系了。由于逻辑上相邻的结点在存储器中不一定相邻,所以用这种方法存储的线性结构中不能对结点进行随机取放。
C.索引存储结构
D.哈希(散列)存储结构
基本思想:
哈希(散列)存储结构以结点的关键字k为自变量,通过一个确定的函数关系f,计算出对应的函数值,再把这个函数值解释为结点的存储地址,将结点存入到f(k)所指示的存储位置上,在查找时再根据要查找的关键字,用同样的函数计算地址,然后到相应的单元中读取。
特点:
数据结构与算法C语言版—— 数据结构的详细介绍相关推荐
- 《数据结构与算法 C语言版》—— 3.8习题
本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第3章,第3.8节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.8习题 1名 ...
- 《数据结构与算法 C语言版》—— 2.5上机实验
本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第2章,第2.5节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.5上机实验 实 ...
- 《数据结构与算法 C语言版》—— 2.7习题
本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第2章,第2.7节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.7习题 1描 ...
- 【数据结构与算法——C语言版】1. 数据结构与算法简介
概念 数据结构:"一组数据的存储结构" 算法:"操作数据的一组方法" 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. 简言之,在编程实践中,我们可能 ...
- 数据结构与算法C语言版—绪论
1.基本概念和术语 1.数据(data):所有能输入到计算机中去的描述客观事物的符号 数值性数据 非数值性数据(多媒体信息处理) 2.数据元素(data element):数据的基本单位,也称结点(n ...
- c语言数据结构算法设计题,数据结构题集(C语言版)算法设计题答案[].doc
数据结构题集(C语言版)算法设计题答案[].doc 第一章 绪论 1.16 void print_descending(int x,int y,int z)// 按从大到小顺序输出三个数 { scan ...
- python数据结构与算法分析_数据结构与算法(Python版)
为什么研究数据结构与算法 本周带大家进入Python版数据结构与算法的学习.想必大家都听过"算法"一词,算法的学习对编程者来说是至关重要的.首先我们先了解一下为什么要研究数据结构与 ...
- 数据结构c语言版题库编程,数据结构习题库(c语言版)
<数据结构习题库(c语言版)>由会员分享,可在线阅读,更多相关<数据结构习题库(c语言版)(104页珍藏版)>请在人人文库网上搜索. 1.wages in arrears. 2 ...
- java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
转载请注明出处:http://blog.csdn.net/xdz78 #include #include //查找单链表中的特定元素,<数据结构与算法--c语言描述> 3.11 答案 in ...
- 数据结构与算法python描述_数据结构与算法——Python语言描述.pdf
数据结构与算法--Python语言描述.pdf 欢迎加入非盈利Python编学习交流程QQ群783462347,群里免费提供500+本Python书籍! 欢迎加入非盈利Python编程学习交流程QQ群 ...
最新文章
- mysql 密码重置
- ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
- 用deepfake拍电影可以安排了:迪士尼发布首个百万像素高分辨率换脸算法
- Sql Server 三种事务模式
- 帆软报表(finereport)控件背景色更改
- lightoj1259 线性筛的另一种写法 v变成bool标记数组
- android4.3 Bluetooth分析之扫描分析
- AngularJS 动态模板
- [笔记]《白帽子讲Web安全》- Web框架安全
- 免费直播|1小时详解区块链技术
- 宝利通HDX7000常见故障处理
- 编译原理与编译构造 LR文法
- 如何在PDF上添加电子签名?签名技巧分享
- C#编程,获取当前时间为一年的第几周的一种方法。
- 计算机无法找到扫描仪和照相机,我的电脑不显示扫描仪和摄像头的原因及解决方法...
- 最先提出计算机程序存储原理概念的是( ),计算机考试选择题
- word 中Visio画的图 如何修改?图片排列
- 公司让我编写一套自己的【Java 编码规范】作为员工季度考核标准?!参照Alibaba
- 20 张图表达程序员的心酸
- sql 除法计算一直 为0原因及解决方案