![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【数据结构、算法】
青山师
编码、架构、程序人生;此博客输出内容永久免费,长期分享JAVA开发技术
展开
-
Java结合方法栈帧理解递归编程思想
文章目录Java结合方法栈帧理解递归编程思想递归的介绍阶乘——递归入门案例递归和方法栈尾递归优化汉诺塔实现Java结合方法栈帧理解递归编程思想递归的介绍In computer programming, the term recursive describes a function or method that repeatedly calculates a smaller part of ...原创 2020-04-10 20:51:19 · 957 阅读 · 0 评论 -
经典排序算法(三)插入排序
插入排序插入排序,也是一种基于位置比较交换的排序算法。在排序过程中,它总是维持着一个有序的子列表。例如,一个数组的较低索引部分维持着有序。排序的时候,新元素在之前有序的部分中找好位置”插入”进去。故名,插入排序。数组被频繁的检索、为排序的项将会移动并插入到已排好序的子列表中,这些都是在一个数组中完成的。插入排序不适合数据量很大的数组排序,它的平均、最坏复杂度为O(N^2),N是数组的元素个数。插入排原创 2016-11-15 23:21:50 · 915 阅读 · 0 评论 -
经典排序算法(一)冒泡排序
排序算法排序,一定程度上就是比较,比较是过程(貌似是唯一手段),再决定是否交换,结果就是排序。 在东陆学院,假定小一22岁(age_yiyi),小尤21岁(age_yoyo),对于我们自然人来说,我们知道小一是比小尤大一岁的,因为22减去21比0要大。 而对于计算机来说(程序),给出两个数,要比较它们的大小,同样采用上述方案。 计算机很傻(AlphaGo表示不服),所以程序员首先要告诉它怎么认原创 2016-07-19 23:31:38 · 975 阅读 · 0 评论 -
经典排序算法(二)选择排序
选择排序原理选择排序是一种简单排序算法。这是一个基于位置比较的算法,通常实现是左边是已经排好序的元素列表,右边是待排序的元素。当然,一开始的时候,我们认为都是未经排序的。选择排序的精髓:与冒泡排序不同,选择排序是第N趟排序先确定最小元素的位置,然后和第N个元素交换位置。主要特点是每一趟选择一个最小值的索引作为梅一堂最后交换的位置。以一个元素个数为N的整形数组arr为例:第一趟 以第一个元素arr[原创 2016-11-14 23:01:04 · 757 阅读 · 0 评论 -
二分搜索BinarySearch的"来龙去脉"
二分搜索BinarySearch的 “来龙去脉”二分搜索用于检索某个key是否在已排好序的序列中,我们还记得上编程语言的基础课程:猜字游戏吗?猜字游戏第一版: 程序预先选取一个数字作为猜想的目标; 用户键盘输入自己猜想的数字; 如果不相等则提示错误; 如果猜对了则游戏终止。这个游戏猜想效率是很低的。因为这个笨拙的游戏规则只会告诉你是对的还是错误的!!!然后你得进行下一次的瞎猜…...原创 2018-06-11 17:12:12 · 338 阅读 · 0 评论 -
数据结构之哈希表HashTable实例讲解
哈希表 是一种以关联方式存储数据的数据结构,在哈希表中,数据以数组格式存储,其中每个数据值都有自己唯一的索引。如果我们知道所需数据的索引,那么数据的访问就会变得非常快。 所以关键是 找到索引, 而检索 数值关键字 到 索引 的方式就是 哈希(Hashing)。因此,在这个结构中插入和搜索操作非常快,不管数据的大小。哈希表使用数组作为存储介质,并使用散列技术(就是我们的哈希算法)生成一个索引。...原创 2018-06-06 14:56:25 · 5288 阅读 · 0 评论 -
【java源码】解读HashTable类背后的实现细节
HashTable这个类实现了哈希表从key映射到value的数据结构形式。任何非null的对象都可以作为key或者value。要在hashtable中存储和检索对象,作为key的对象必须实现hashCode、equals方法。一般来说,默认的加载因子(0.75)提供了一种对于空间、时间消耗比较好的权衡策略。太高的值(指加载因子loadFactor)虽然减少了空间开销但是增加了检索时间,这...原创 2018-06-08 17:47:19 · 893 阅读 · 0 评论 -
数据结构动态演示
可视化数据结构:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html很酷的各种排序演示:http://sorting.at/很有创意的排序比较(匈牙利 Sapientia 大学的 6 种排序算法舞蹈视频):http://top.jobbole.com/1539/来源: https://blog.csdn.net/big...转载 2018-09-28 21:14:13 · 2377 阅读 · 0 评论