数据结构和算法
stonennnn
这个作者很懒,什么都没留下…
展开
-
数据结构---查找和排序
几种常见的排序:冒泡,插入,选择,快速,归并排序 关系:排序是查找的前提 代码 1.冒泡排序(BubbleSort) public class BubbleSort { /** * * 冒泡排序 * 从第一个元素开始依次和后面的元素比较,并交换位置 * 从第二个元素开始依次和剩下的元素比较,并交换位置 * 如此往复 */...原创 2018-09-20 10:23:23 · 785 阅读 · 0 评论 -
数据结构--树
定义 有且只有一个根节点 有若干互不相交的子树,这些子树本身也是一棵树 定义 树是由节点和边(指针)组成 每个节点只有一个父节点,但可以有多个子节点 根节点例外 术语 节点 父节点 子节点 子孙 堂兄弟 深度:从跟点到底层节点的层数 叶子节点:没...原创 2018-09-20 10:01:49 · 104 阅读 · 0 评论 -
数据结构--递归的几个应用(求和,阶乘,汉诺塔)
定义 一个函数自己调用自己递归的条件 必须要有明确的终止条件 所处理的数据规模在减少 这个转化是可解的应用 1.求阶乘 /** * 递归求阶乘 * Created on 2018年9月10日<br> */ public class Factorial { public static void main(...原创 2018-09-20 09:58:17 · 285 阅读 · 0 评论 -
数据结构--队列
定义:一种实现了先进先出的数据结构。 分类 静态队列--链表 *&p=p; 链式队列--数组,一般都是循环队列 循环队列 循环队列示意图 学习循环队列需要明白的7个问题: 1.静态队列为什么是循环队列 在队列里面,front指向队列的第一个位置,rear指向最后一个元素的下一...原创 2018-09-20 09:54:12 · 135 阅读 · 0 评论 -
数据结构--栈
定义 一种可以实现“先进后出”的存储结构 分类 静态栈: 动态栈:内核是链表 算法 出栈 压栈 程序 initStac:创建一个包含头指针(pTop)尾指针(pBottom)的节点,指向一个空节点(头节点,指针也为空) push(压栈):创建一个节点,使它指向前面的节点,头节点指向这个节点 out(出栈):如果直接让pTop指向原...原创 2018-09-04 16:51:51 · 116 阅读 · 0 评论 -
数据结构--链表
定义 n个节点离散分配 彼此通过指针相连 每个节点只有一个前驱节点,每个节点只有一个后继节点 首节点没有前驱节点,尾节点没有后续节点 专业术语 链表中每个节点的数据类型是一样的 首节点:链表第一个有效的节点 尾节点:最后一个有效的节点 头节点:第一个有效节...原创 2018-07-31 16:53:08 · 206 阅读 · 0 评论