C语言打卡学习第26天(2025.4.28)
今天刚开数据结构,刚学,感觉就是很抽象,先好好看看术语、基本结构跟不懂的地方,再考虑考虑如何应用、写代码、应用场景还有跟之前学过的哪些知识能联动起来(说实话,有难度,尤其是写代码和找应用阶段,不是很理解)
1、数据结构基本概念和术语方面理解(思考完后已整理到本上)
学生表所有数据记录是“数据”,学生是数据对象,学生1、2、3是数据元素,学生姓名、学号是数据项。
2、数据结构及其细分方面的理解(比较抽象)
(1)逻辑关系
其实大概应该是指数据直接的排列等关系,如第一种分类方式:树形、线性、集合、图状。
树形 类似于高中学过的排列组合随机摸仨颜色的球,摸到红球后下一次可能摸啥球,由此画出的树状图。
线性 则是一组数据的随机或升序、降序排列,元素直接的顺序是一种结构。
集合 不用说都学过。
图状 则类似于地图上不同景点直接的各种路线分布。
第二种分类方式:线性和非线性。
线性结构 如线性表、栈、队列、串。(栈啥的不懂,等会查ai把概念补本上)
非线性结构 如树、图,元素之间呈一对多甚至多对多的关系(不用查,好理解)。
(2)存储结构
有顺序、链接、索引和散列存储结构。
不同于逻辑结构是元素直接的抽象关系,存储结构是可见的、计算机空间上呈现的关系。
顺序结构:直接把元素依次存储在一组单元内,元素之间的关系即元素之间的相邻关系。
链接结构:一组随机空间存储元素,元素直接关系由指针决定(即元素直接的关系用地址表示)
索引结构:存储信息还建了个“通讯录”,来快速查找和调用元素。
散列结构:直接根据元素关键字通过确定散列函数来计算存储地址,也叫哈希存储。而哈希表是散列存储的一种数据结构。
查ai:哈希表(Hash Table),也叫散列表,是一种数据结构,它可以根据键(Key)快速查找对应的值(Value)。哈希表的核心思想是使用一个哈希函数,将键映射到一个固定大小的数组中的某个位置,这个位置就被称为哈希值(Hash Value)或散列值。
数据类型和抽象数据类型有些太抽象了,概念不懂(啥伪代码等等)代码写不出来,明天再总结吧,今天把数据结构大概的基本概念理解了一下。
PS:看完基本概念感觉还好,但愿明天看抽象数据类型也能有这个感受吧。今天刻意没加太多茶叶,等会活动一下,但愿晚上能睡着……



浙公网安备 33010602011771号