数据结构-基础

1、概念:

程序 == 数据结构 + 算法

2、程序的好坏

可读性,稳定性,扩展性,时间复杂度,空间复杂度。

3、数据结构

是指存储、组织数据的方式,以便高效地进行访问和修改。通过选择适当的数据结构,

能够优化计算机程序的时间和空间效率。

4、分类

逻辑结构

线性结构(表),非线性结构(树,图)

存储结构

顺序存储,链式存储,索引存储,散列存储

5、数据结构:

顺序表

链表

顺序栈

链式栈

队列

哈希表等

6、顺序表

1、定义类型

7、工程代码目录结构

1、main.c :主函数程序代码

2、fun.c :功能程序代码

3、fun.h : 工程程序代码头文件

8、gdb调试工具

l 查看代码

b 行号/函数名 设置断点

r 运行代码

n 单步执行

s 进入函数内部调试

p 变量名 查看变量内容

q 退出调试

9、链表

链表(Linked List)是一种常见的数据结构,用于存储一系列数据元素。与数组不同,链表

中的元素不是在连续的内存位置上存储,而是通过指针将每个元素链接到下一个元素

链表的基本结构

链表由一系列节点(Node)组成,每个节点包含两个部分:

数据部分:存储实际的数据。

指针部分:存储指向下一个节点的地址(在单链表中),或在双向链表中指向前一个

和下一个节点的地址。

单向链表(Singly Linked List)

每个节点只包含一个指向下一个节点的指针。只有一个方向可以遍历链表。

链表的优缺点

优点:

动态大小:链表的大小是动态的,不像数组需要预先确定大小。

高效插入和删除:在链表中插入或删除元素时,无需移动其他元素,尤其是当

在链表的头部或尾部插入时,操作非常高效(O(1)时间复杂度)。

缺点:

访问效率较低:访问链表中的某个元素需要从头节点开始逐一遍历,时间复

杂、 度为O(n),相比之下,数组的访问是O(1)。

额外的内存消耗:每个节点需要额外存储指针,相比数组,需要更多的内存。

相关推荐
要下雨了吗24 分钟前
指针数组 vs 数组指针
c语言·数据结构·c++·算法·visual studio
武装头脑ing1 小时前
递增子序列
数据结构·算法
sml259(劳改版)2 小时前
(PTA) L2-011-L2-015
数据结构·算法
风铃儿~4 小时前
Redis过期key处理、内存淘汰策略与缓存一致性策略实践方案
java·数据结构·redis·微服务
大龄门外汉4 小时前
数据结构之栈和队列
c语言·数据结构·学习·改行学it
朝九晚五ฺ5 小时前
【算法学习】链表篇:链表的常用技巧和操作总结
数据结构·学习·算法·链表
俄城杜小帅6 小时前
数据结构刷题之贪心算法
数据结构·算法·贪心算法
什码情况6 小时前
整数编码 - 华为OD统一考试(A卷、C++)
数据结构·c++·算法·华为od
int型码农6 小时前
数据结构第六章(一) -图
c语言·数据结构·算法
泽02027 小时前
括号匹配问题--栈
数据结构