数据结构-基础

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)。

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

相关推荐
w_zero_one4 小时前
算法--构造
java·数据结构·算法
lisw057 小时前
互联网上的数据结构可视化!
数据结构·信息可视化
老师我太想进步了202613 小时前
【数据结构-1】例解算法复杂度
数据结构·算法
YSL07012414 小时前
一文通关-----排序
数据结构·算法
夜不会漫长1 天前
C++:红黑树
数据结构·算法
冻柠檬飞冰走茶1 天前
PTA刷题集之Airline Routes(C语言实现)
c语言·开发语言·数据结构·算法
736c1 天前
固件开发岗算法
数据结构·算法
冻柠檬飞冰走茶1 天前
PTA刷题集之Battle Over Cities - Hard Version(C语言实现)
c语言·开发语言·数据结构·算法
PaperAccept1 天前
【研知有术论文发表】材料科学一区期刊,影响因子30+的纳米科技SCI,审稿严格但有效率
大数据·数据结构·科技·量子计算
Tairitsu_H1 天前
[C++高阶数据结构·图论下] 最短路径:为什么“挑最小的”一定正确?
数据结构·c++·图论