文章分类 - 数据结构(c语言版)
摘要:线性结构的两种常见应用之二 对列 1.定义:一种可以实现“先进先出”的存储结构 2.分类: (1)链式队列 用链表实现 (2)静态队列 用数组实现 静态队列通常都必须是循环队列
阅读全文
摘要:栈:实质就是一个操作受限的链表 栈里面的内存是由程序自动分配的,堆里面的内存是由程序员手动分配的。 1.定义:一种可以实现“先进后出”的存储结构 栈类似于箱子 2.分类: 静态栈 动态栈 3.算法 出栈 压栈 图解: 例题: 1 # include <stdio.h> 2 # include <ma
阅读全文
摘要:数据结构 狭义: 数据结构是专门研究数据存储的问题 数据的存储包含两个方面:个体的存储 + 个体关系的存储 广义: 数据结构既包含数据的存储也包含数据的操作 算法是对存储数据的操作 狭义:算法是和数据存储方式无关 广义:算法和数据的存储方式无关 这就是泛型思想 数据的存储结构有几种: 线性: 连续存
阅读全文
摘要:离散存储:链表 1.定义: n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点。 首节点没有前驱节点,尾节点没有后续节点。 专业术语: 首节点:第一个有效节点 尾节点:最后一个有效节点 头结点: 头结点的数据类型和首节点类型一样 第一个有效节点之前的那个节点 头结
阅读全文
摘要:预备知识:typedef 例题1:typedef为已有的数据类型重新起个名字 1 # include <stdio.h> 2 //typedef作用:为已有的数据类型重新起个名字 3 typedef int ZHANGSAN;//为int再重新多取一个名字,ZHANGSAN等价于int 4 type
阅读全文
摘要:模块一:线性结构【把所有的结点用一根直线穿起来】 连续存储【数组】 例题:动态数组实例 1 # include <stdio.h> 2 # include <malloc.h>//包含malloc函数 3 # include <stdlib.h>//包含exit函数 4 //定义了一个数据类型,该数
阅读全文
摘要:预备知识 1.指针 1) 指针的重要性:指针是C语言的灵魂 2)定义 地址:内存单元的编号,从0开始非负整数。范围:0-FFFFFFFF(0-4G-1) 指针:指针就是地址,地址就是指针 指针变量是存放内存单元地址的变量 指针的本质是一个操作受限的非负整数 例题: 1 # include <stdi
阅读全文
摘要:相关图书的介绍 1.数据结构(c语言版 )严蔚敏 吴伟民编著 内容从多本书摘录过来的 伪算法 2.《数据结构》算法实现及解析(第二版) 高一凡编著 西安电子科技大学 C和C++实现 1.数据结构的概述 定义:我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以
阅读全文
摘要:数据结构的概述 预备知识 模块一:线性结构 连续存储【数组】 离散存储【链表】 线性结构的两种常见应用之一 栈 线性结构的两种常见应用之二 队列 专题:递归 1.1+2+3+4...100的和 2.求阶乘 3.汉诺塔 4.走迷宫 模块二:非线性结构 树 图 模块三:查找和排序 折半查找 排序: 冒泡
阅读全文

浙公网安备 33010602011771号