数据结构_郝斌_递归
摘要:专题:递归 递归 一个函数自己直接或间接调用自己 递归要满足的三个条件 1. 递归必须得有一个明确的中止条件 2. 该函数所处理的数据规模必须在递减 3. 这个转化必须是可解的 循环和递归 递归:易于理解、速度慢、存储空间大 循环:不易理解、速度快、存储空间小 举例 1. 求阶乘 2. 1+2+3+
阅读全文
数据结构_郝斌_队列
摘要:线性结构的两种常见应用之二 队列 定义 一种可以实现“先进先出”的内存结构 分类 1. 链式队列 用链表实现 2. 静态队列 用数组实现,静态队列通常都必须是循环队列 循环队列的的讲解 1.静态队列为什么必须是循环队列 2.循坏队列需要几个参数来确定 需要两个参数来确定:front/rear 3.循
阅读全文
数据结构_郝斌_栈
摘要:栈 定义 一种可以实现“先进后出”的存储结构,栈类似箱子 分类 1. 静态栈 2. 动态栈 算法 1. 出栈 2. 压栈 应用 1. 函数调用 2. 中断 3. 表达式求值 4. 内存分配 5. 缓冲处理 6. 迷宫 代码 C++ //stack.cpp include include includ
阅读全文
数据结构_郝斌_数组
摘要:模块一 线性结构:把所有的节点用一根直线穿起来 连续存储[数组] 离散存储[链表] 线性结构的两种常见应用:栈/队列 1. 数组:元素类型相同,大小相同 2. 数组的优缺点 连续存储[数组]
阅读全文
数据结构_郝斌_预备知识2
摘要:结构体 1. 为什么会出现结构体 为了表示一些复杂的数据,而普通的基本数据类型无法满足要求 2. 什么叫结构体 结构体是用户根据实际需要自己定义的复合数据类型 3. 如何使用结构体 struct Student st = {1000, "zhangsan", 20}; struct Student
阅读全文
数据结构_郝斌_预备知识1
摘要:数据结构概述 定义 定义:我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法。 数据结构 = 个体的存储 + 个体的关系存储 算法 = 对
阅读全文
数据结构_郝斌_链表
摘要:离散存储[链表] typedef应用举例 离散存储[链表] 定义:n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。 专业术语 首节点:第一个有效节点 尾节点:最后一个有效节点 头节点:第一个有效节点之前的那个节点,头节点
阅读全文