随笔分类 - 数据结构
摘要:1、常见的排序算法 2、算法的时间复杂度 时间频度和时间复杂度 时间频度T(n) 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执
阅读全文
摘要:1、概念 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。并且递归用到了虚拟机栈 2、能解决的问题 数学问题 八皇后问题 汉诺塔 求阶乘 迷宫问题 球和篮子 各种排序算法 3、规则 方法的变量是独立的,不会相互影响的 如果方法中使用的是引用
阅读全文
摘要:1、定义 栈是一个先入后出的有序列表 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶,另一端为固定的一端,称为栈底 最先放入的元素在栈底,且最后出栈。最后放入的元素在栈顶,且最先出栈 2、应用场景 子程序递归调用。
阅读全文
摘要:1、单向链表 1.1 链表的介绍 链表在内存中的存储 特点 链表是以节点的方式来存储,是链式存储 每个节点包含 data 域 和 next 域。next域用来指向下一个节点 链表的各个节点不一定是连续存储的 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 带头结点的逻辑示意图 1.2
阅读全文
摘要:一、定义 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 二、模拟思路 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队列的最大容量 因为队列的输出、输入是分别从前后端来
阅读全文
摘要:一、稀疏数组和队列 1、稀疏数组 基本功能 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 2.处理方法 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 如图,把一个6X7的二维数组变为了一个9X
阅读全文

浙公网安备 33010602011771号