关于数据结构的泛谈
11页1、 关于数据结构的泛谈1. 数据结构狭义:数据结构是专门研究数据存储问题的数据的存储包含两个方面:个体的存储 + 个体关系的存储从某个角度而言,数据存储最核心的问题是对个体关系的存储,个体的存储可以忽略不计广义:数据结构既包含数据的存储也包含对数据的操作对存储的数据的操作就是算法2. 算法狭义:算法和数据的存储方式密切相关广义:算法和数据的存储结构无关(也就是泛型的思想:对于同一种逻辑结构,无论该逻辑结构的物理存储是什么样子的,我们都可以对它执行相同的操作)3. 数据结构的分类逻辑结构线性数组链表栈和队列是特殊的线性结构(操作受限)非线性树图物理结构线性一维的连续单元(内存)4. 数据的存储结构线性连续存储(数组)优点存取速度很快缺点插入、删除操作效率很低事先必须知道数组的长度需要大块连续的内存块离散存储(链表)优点空间没有限制(不需要一块连续的内存)插入、删除操作效率很高缺点存取速度很慢线性结构的应用 1 栈定义一种可以实现“先进后出”的存储结构分类静态栈动态栈算法出栈压栈应用函数调用(函数的嵌套)中断表达式求值内存分配缓冲处理迷宫线性结构的应用 2 队列定义一种可以实现“先进先出”的
2、存储结构分类链式队列用链表实现静态队列用数组实现,静态队列通常都是循环队列算法入队出队具体应用所有和时间有关的操作都有队列的影子【专题】递归定义一个函数自己直接或间接调用自己栈与递归的实现1. 当在一个函数运行期间,调用另一个函数时,在运行被调函数之前,系统需要完成 3 件事:将所有实参、返回地址等信息传给被调函数保存给被调函数的局部变量(包括形参)分配存储区域将控制转移到被调函数的入口2. 从被调函数返回调用函数之前,系统也需要完成 3 件工作:保存被调函数的返回结果释放被调函数所占的存储空间依照被调函数保存的返回值地址,将控制转移给调用函数PS:当多个函数迭代调用时,按照“后调用先返回”(后进先出)的规则进行,上述函数之间的传递和控制转移必须借助栈来实现,所以,系统将整个程序运行所需的存储区域安排在一个栈中,每当调用一个函数时,就为它在栈顶分配一个存储区域,每当从一个函数退出时,就释放它的存储区域,则当前运行的函数的数据区域必须在栈顶。3. 递归需要满足的 3 个条件1) 递归必须要有一个明确的终止条件2) 该函数所处理的数据规模必须在递减3) 这个转化必须是可解的4. 循环和递归
《关于数据结构的泛谈》由会员宝路分享,可在线阅读,更多相关《关于数据结构的泛谈》请在金锄头文库上搜索。
一种高炉喷煤喷吹罐底部硫化装置密封改造
谈谈公文写作的两个关键问题
大学生职业生涯规划之课件【P33】
2018高考物理(新课标)一轮复习讲解第六章机械能第3讲机械能守恒定律及其应用
两学一做四个合格做合格党员PPT课件
软件体系结构-作业2017-3
嵌入式Linux操作系统第2章-1
售前交流技巧和经验
《民主选举:投出理性一票》课件(新人教版必修2)1
路面工程施工与检测单元一沥青混合料路面基础知识
有机反应机理(2013年1月21日)
武汉枫叶学校4BC分级考试说明
思想品德《友好交往礼为先》课件(人教新课标八年级上)
青开八中教师草根讲坛张所治
医患关系紧张的主要原因
【南昌银沙湾农庄】项目介绍
苏教版六年级语文8《三打白骨精》
高三第二阶段历史复习要略(周崴)
语言表达准确生动得体
2017语文S版语文一年级下册识字4《拍手歌》课件3
2024-04-28 6页
2024-04-28 18页
2024-04-28 21页
2024-04-24 8页
2024-04-24 1页
2024-04-24 1页
2024-04-24 1页
2024-04-24 3页
2024-04-24 8页
2024-04-24 5页