20260331_day01

张开发
2026/4/3 14:16:51 15 分钟阅读
20260331_day01
根据你提供的笔记内容以下是对《数据结构》课程前段内容的总结涵盖了数据结构的基本概念、逻辑结构、存储结构、算法、顺序表、链表等内容一、数据结构概述1. 数据结构是什么分析数据之间的关系并通过计算机进行维护和管理。2. 为什么要用数据结构为了高效地组织、存储和操作数据。3. 怎么用逻辑结构分析现实中事物之间的关系。存储结构将分析后的关系数据存储到计算机中。算法通过计算机手段对数据进行增、删、改、查等操作。二、逻辑结构数据之间的关系类型关系示例集合结构无关系鸡、鸭、你同属“禽兽”线性结构一对一线性表、栈、队列树结构一对多二叉树图结构多对多图三、存储结构类型描述特点顺序存储数据连续存储在一块连续空间中查找快插入/删除慢链式存储每个节点独立存储通过指针链接插入/删除快查找慢四、算法核心操作增、删、改、查五、线性表1. 顺序表使用数组存储配合len和size管理有效数据和容量。优点查找、替换快通过下标。缺点插入、删除需要移动大量数据。顺序表结构示例structseq{int*arr;// 数据存储位置intlen;// 有效数据个数intsize;// 总容量};六、链表线性表的链式存储特点每个节点有独立空间通过指针链接。必须有头节点数据域无效。单向链表结构typedefintdatatype;structlink{datatype data;// 数据域structlink*next;// 指针域};常见操作增、删、改、查七、扩展知识工具与技巧GCC 常用选项选项作用-E预处理-S编译-c汇编-o输出文件-Wall显示所有警告-Werror将警告视为错误-O0~-Os优化等级-g支持 GDB 调试Makefile 自动变量变量含义$^所有依赖文件$目标文件$第一个依赖文件常用函数$(wildcard *.c)获取所有.c文件$(patsubst %.c, %.o, ...)替换文件后缀八、其他小技巧scanf返回值返回成功匹配的输入项个数。如果匹配失败输入内容仍留在缓冲区。复杂指针解析技巧看到[]或[][]将后面的内容放到前面。看到(*)将后面的内容放到*后面。如果有需要修改或者补充的地方可以随时告诉我。

更多文章