算法
洌冰
没有
展开
-
算法 - 斐波那契数列问题(转自微信公众号码农翻身)
斐波那契数列转载 2017-07-25 23:07:44 · 481 阅读 · 0 评论 -
排序-选择类排序--堆排序简介
参考:数据结构(严蔚敏) 选择类排序有两个经典算法,一个是之前总结过的直接选择排序,另一个则是今天要讲的堆排序0.什么是堆对于Java中的一个数组Array,如果对于其中所有的元素其下标index满足:Array[index]>=Array[2index+1] && Array[index]>=Array[2index+2](或者Array[index]&...原创 2018-06-07 01:26:17 · 460 阅读 · 0 评论 -
排序-交换类排序--快速排序简介
冒泡排序相对简单,之前总结过: https://blog.csdn.net/u011109881/article/details/80038573快速排序参考: 啊哈磊:最常用的排序——快速排序原理Java实现...原创 2018-06-03 13:26:04 · 249 阅读 · 0 评论 -
数据结构 Hash表(哈希表)
参考链接:数据结构(严蔚敏)什么是Hash表要想知道什么是哈希表,那得先了解哈希函数哈希函数对比之前博客讨论的二叉排序树 二叉平衡树 红黑树 B B+树,它们的查找都是先从根节点进行查找,从节点取出数据或索引与查找值进行比较。那么,有没有一种函数H,根据这个函数和查找关键字key,可以直接确定查找值所在位置,而不需要一个个比较。这样就**“预先知道”**key所在的位置,直...原创 2018-05-20 01:23:34 · 358220 阅读 · 51 评论 -
数据结构-动态查找树表与平衡二叉树 红黑树简单介绍
二叉排序(查找)树什么是二叉查找树二叉平衡树B-树B+树键树转载 2018-05-13 17:11:22 · 1695 阅读 · 0 评论 -
排序-概述,插入排序(180602更新完毕)
顺序查找表查找平均查找长度查找算法不用算法的时间复杂度来计算,而是用平均查找长度(Average Search Length)来计算 ASL=∑ni=1PiCiASL=∑i=1nPiCiASL = \sum_{i=1}^{n} P_iC_i 其中PiPiP_i表示每个元素出现的概率,CiCiC_i表示需要查找的次数等概率查找现在一维数组存储了10个数据,要从中找出一个数字60的...原创 2018-05-12 11:34:41 · 328 阅读 · 0 评论 -
数据结构 多路查找树 ---------B树和B+树的简单介绍
参考链接:微信公众号 程序员小灰 https://mp.weixin.qq.com/s/rDCEFzoKHIjyHfI_bsz5Rw https://mp.weixin.qq.com/s/jRZMMONW3QP43dsDKIV9VQB树的简单介绍前面我们已经介绍了BST AVL树 BRT,那么,为什么要B树和B+树呢?他们和之前介绍的三种树有何区别? 其实最明显的差异体现在多叉上...原创 2018-05-17 21:43:09 · 6344 阅读 · 8 评论 -
数据结构基本知识
逻辑结构逻辑结构指数据对象中数据元素之间的关系。详细有以下几种 集合结构:元素直接没有直接关系,相互平等 线性结构:元素直接一一对应 树形结构:存在一对多情况 图形结构:多对多关系(存在有向图和无向图的区分,此处使用的Java GC回收机制示意图,java GC实现是基于有向图的) 物理结构物理结构指数据的逻辑结构在计算机中的存储方式;分为线性存储和链式存储结...原创 2018-04-22 17:46:11 · 647 阅读 · 0 评论 -
使用java实现冒泡排序和选择排序
冒泡排序原理假设有10个数,第一轮循环,第一个数和第二个数比较,如果第一个数大,第一个数和第二个数交换位置,否则不动;接着第二个数和第三个数比较,如果第二个数大,第二个数和第三个数交换位置,否则不动……第九个数和第十个数比较,如果第九个数大,第九个数和第十个数交换位置,否则不动。第一轮循环结束,最大的数挪到了第十个数的位置,比较进行了9次。 第二轮循环,第一个数和第二个数比较,如果第一个数大...原创 2018-04-22 16:38:55 · 23714 阅读 · 6 评论 -
使用Java模拟线性表顺序存储结构
在数据结构中,线性表分两种结构 顺序结构和链表结构 下面使用Java模拟一下顺序结构 主要难点在顺序结构的插入和删除import java.util.ArrayList;//线性表顺序存储结构public class LinearTable { ArrayList<Node> list; // 分配长度 int maxLength = 0; ...原创 2018-04-22 00:01:40 · 524 阅读 · 0 评论 -
编写函数实现有序数组的二分查找
算法不用就忘,mark public static void binary_search(int target,int [] arr){ if (arr== null || arr.length == 0){ System.out.println("not find"); return; } ...原创 2018-03-29 00:32:44 · 861 阅读 · 0 评论 -
归并排序简析
参考连接: https://blog.csdn.net/morewindows/article/details/6678165/ SteveWang www.cnblogs.com/eniac12/p/5329396.html1.递归的归并排序的思路归并排序是由若干次组内元素的归并排序一起完成的. 首先,对两个已经有序的数组进行合并的操作比较简单,代码如下 publ...原创 2018-06-08 00:46:48 · 252 阅读 · 1 评论