数据结构
文章平均质量分 54
ToughMind_
We’re here to put a dent in the universe.
展开
-
数据结构 JAVA描述(三) 队列 + 栈与队列的比较
队列的抽象数据类型描述原创 2015-12-29 15:30:52 · 1236 阅读 · 0 评论 -
数据结构 JAVA描述(十一) 选择排序(直接选择排序,树形选择排序,堆排序)
直接选择排序 置i初值为0 当i < n-1时,重复下列步骤在无序子序列中{a[i], ……a[n-1]}中选出最小的a[min] 若min!=i,则交换 i++原创 2016-01-05 14:01:08 · 1162 阅读 · 0 评论 -
数据结构 JAVA描述(十二) 归并排序 链式基数排序
归并排序 /** * @description 2-路归并排序算法 归并过程中引入数组temp[],第一趟由a归并到temp,第二趟由temp归并到a,如此反复直到n个记录为一个有序表 * 返回的是a[]。不论是偶数趟还是奇数趟,最后都会mergepas(temp, a, s, n); 数据都会在a中原创 2016-01-05 17:13:06 · 826 阅读 · 0 评论 -
数据结构 JAVA描述(十三) 排序总结
时间复杂度 O(n ㏒₂ n):快速排序,堆排序,归并排序。其中快排最好 O(n²):直接插入排序,冒泡排序,直接选择排序。其中直接插入排序最好,特别是关键字近似有序的情况 O(n):基数排序 当关键字有序,直接插入和冒泡排序可以达到O(n);而快速排序会蜕化到 O(n²)。空间复杂度所有简单排序(直接插入,冒泡,直接选择)和堆排序为O(1);快速排序为O(㏒₂ n);归并排序,为O(n);链式基数原创 2016-01-05 18:15:39 · 418 阅读 · 0 评论 -
数据结构 JAVA描述(十四) 静态查找表
顺序查找顺序查找又称为线性查找,它是一种最简单、最基本的查找方法。 /** * @description 不带监视哨的顺序查找算法 * @date 2016年1月6日 */ public static int seqSearch(int[] a, int key){ int i = 0, n = a.length; wh原创 2016-01-06 11:41:40 · 738 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:转载 2015-12-22 21:12:33 · 336 阅读 · 0 评论 -
数据结构 JAVA描述(一) 线性表
线性表的抽象数据类型描述原创 2015-12-22 22:49:07 · 8045 阅读 · 1 评论 -
数据结构 JAVA描述(二) 栈
栈的抽象数据类型描述原创 2015-12-23 00:21:12 · 561 阅读 · 0 评论 -
数据结构 JAVA描述(十五) 动态查找表 二叉排序树 二叉平衡树
二叉排序树 若左子树不空,则左子树上所有结点的值均<根结点的值 若右子树不空,则右子树上所有结点 的值均>根结点的值 它的左、右子树也都是二叉排序树。 二叉排序树的查找过程 若树为空,则结束 若树非空,则进行如下操作若给定值k=根关键字,则查找成功 若给定值<根关键字,则继续在左子树进行 若给定值>根关键字,则继续在右子树进行 二叉排序树的删除过程 若删除的是叶子结点,则直接删除该结点即可。若同时原创 2016-01-06 00:55:21 · 734 阅读 · 0 评论 -
数据结构 JAVA描述(十) 交换排序
冒泡排序 设初值i=1 在无序序列a[0], a1,……a[n-i]中,从头至尾依次比较相邻的两个元素,a[j]和a[j+1],若a[j]>a[j+1],则交换位置。 i=i+1 重复以上步骤 /** * @description 冒泡排序算法 * @param before * @return * @time 2016年1月3日 下午9:06:50原创 2016-01-03 22:32:38 · 346 阅读 · 0 评论 -
数据结构 JAVA描述(九) 插入排序
待排序的顺序表记录类描述原创 2016-01-03 15:41:09 · 673 阅读 · 0 评论 -
数据结构 JAVA描述(四) 树与二叉树基础
基础理论树的定义:树是由n(n≥0)个结点所构成的有限集合,当n=0时,称为空树;当n>0时,满足以下条件: 有且仅有一个称为根的结点原创 2015-12-29 23:46:11 · 839 阅读 · 0 评论 -
数据结构 JAVA描述(五)哈夫曼树,树与森林
#**[哈夫曼树及哈夫曼编码][1]** ###**[相关概念:][1]** - 结点的带权路径长度: 该结点的路径长度 × 该结点的权值原创 2015-12-30 11:15:31 · 725 阅读 · 0 评论 -
数据结构 JAVA描述(十六) 动态查找 B-树 B+树 红黑树
B-树前面介绍的查找算法都在内存中进行的,它们适合用于较小的文件,而对于较大的、存放在外存的文件就不合适,对于此类较大规模的文件,即使是采用了平衡二叉树,在查找效率上仍然较低。例如若将存放在外存的10亿条记录组织为平衡二叉树,则每次访问记录需要进行约30次外存访问;而若采用256阶的B-树数据结构,则每次访问记录需要进行的外存访问次数为4到5次。B-树的定义B-树是一种平衡的多路查找树,在文件系统中原创 2016-01-15 00:32:35 · 2353 阅读 · 0 评论 -
数据结构 JAVA描述(十七) 哈希表查找
哈希表的定义哈希存储的思想是以关键字为自变量,通过一定的函数关系(成为散列函数或称为哈希函数),计算出对应的函数值(称为哈希地址),以这个值作为数据元素的地址,并将该数据元素存入相应地址的存储单元中。常用的哈希函数 除留余数法: H(key) = key % p(p≤m) 直接地址法: H(key) = a · k + b 数字分析法 平方取中法 折叠法 随机数法 处理冲突的方法 开放定址法 Hi原创 2016-01-17 23:04:11 · 851 阅读 · 0 评论 -
数据结构 JAVA描述(七) 图的遍历+最小生成树
广度优先搜索(Breadth First Search,BFS)+深度优先搜索(Depth First Search,DFS)为方便起见,将两种遍历写在了一个类中。原创 2015-12-30 19:31:26 · 1311 阅读 · 0 评论 -
数据结构 JAVA描述(六) 图的创建 (邻接矩阵+邻接表)
图的抽象数据类型描述原创 2015-12-30 16:34:02 · 5764 阅读 · 0 评论 -
数据结构 JAVA描述(八) 最短路径+拓扑排序+关键路径
最短路径迪杰斯特拉算法原文分析思路(理解不了这里就pass掉):在有向网中,从某一源点到其余各点都有一条最短路径。首先在这些最短路径中,长度最短的必定只有一条弧,且它的权值是从源点出发的所有弧上权的最小值;其次,第二条长度次短的最短路径只可能有两种情况: 从源点出发的一条弧,权值大于已求的最短路径的那条弧,但小于其他的从源点出发的弧的权值 是一条经过已求得最短路径的路径 该算法需要引入辅助数组D,原创 2015-12-31 12:12:29 · 3239 阅读 · 0 评论