
数据结构与算法
文章平均质量分 79
Blockchain Explorer
雄关漫道真如铁,而今迈步从头越。
真想做,总有办法;
不想做,总有理由。
展开
-
数据结构与算法之学习资料(1)
数据结构与算法系列 目录 最近抽空整理了”数据结构和算法”的相关文章。在整理过程中,对于每种数据结构和算法分别给出”C”、”C++”和”Java”这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和学习的过程中,择其一即可!下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查...转载 2018-08-07 09:05:21 · 307 阅读 · 0 评论 -
Java排序算法之简单选择排序
Java排序算法之简单选择排序基本思想简单选择排序的基本思想非常简单,即:第一趟,从 n 个元素中找出关键字最小的元素与第一个元素交换;第二趟,在从第二个元素开始的 n-1 个元素中再选出关键字最小的元素与第二个元素交换;如此,第 k 趟,则从第 k 个元素开始的 n-k+1 个元素中选出关键字最小的元素与第 k 个元素交换,直到整个序列按关键字有序。算法原理接选择排序的第一趟处理是从数据序列所有n原创 2017-07-31 14:59:21 · 494 阅读 · 0 评论 -
Java排序算法之快速排序
Java排序算法之快速排序交换类排序主要是通过两两比较待排元素的关键字,若发现与排序要求相逆,则“交换” 之。快速排序是交换类排序的一种。本篇文章讲解以下内容:基本思想源码源码解析算法原理效率分析原创 2017-07-24 20:36:17 · 667 阅读 · 0 评论 -
Java排序算法之冒泡排序
Java排序算法之冒泡排序交换类排序主要是通过两两比较待排元素的关键字,若发现与排序要求相逆,则“交换” 之。冒泡排序是交换类排序的一种。本篇文章讲解以下内容:基本思想源码源码解析算法原理效率分析原创 2017-07-19 15:44:39 · 556 阅读 · 0 评论 -
Java排序算法之希尔排序
Java排序算法之希尔排序希尔排序(Shell Sort)又称为“缩小增量排序”。是1959年由D.L.Shell提出来的。它也是一种属于插入排序类的排序方法,是一种对直接插入排序的改进,但在时间效率上却有较大的改进。基本思想希尔排序的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量原创 2017-08-14 10:19:43 · 275 阅读 · 0 评论 -
Java算法之递归算法
Java算法之递归算法递归算法概述程序调用自身的编程技巧称为递归( recursion)。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前原创 2017-08-21 10:40:43 · 540 阅读 · 0 评论 -
Java排序算法之归并排序
Java排序算法之归并排序算法概述归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段原创 2017-09-04 17:21:58 · 384 阅读 · 0 评论 -
Java算法之二分查找算法
Java算法之二分查找算法二分查找算法概述折半查找又叫二分法查找,在一个查找区间中,确定出查找区间的中心位置,用待查找数据元素的关键字与中心位置上的数据元素的关键字比较,若两者相等,则查找成功;否则,若前者小于后者,则把查找区间定为原查找区间的前半段继续这样的过程;否则,则把查找区间的后半段继续这样的过程。二分查找算法思想二分查找算法是建立在有序数组基础上的。算法思想为: 1. 查找过程从数组的原创 2017-08-28 10:12:00 · 441 阅读 · 0 评论 -
Java排序算法之基数排序
Java排序算法之基数排序算法概述基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。本文基于正整数来讲解。算法思想基数排序的主要思路是,将所有待比较数值(注意,必须是正整数)统一为同样的数位长度,数位较短的数前面补零. 然后, 从最低位开始, 依次进行一次稳原创 2017-09-11 10:24:15 · 477 阅读 · 0 评论 -
Java排序算法之简单插入排序
Java排序算法之简直插入排序插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已经排好序的序列中适当的位置上,使得新序列仍然是一个有序序列。 在这一类排序中主要介绍三种排序方法:直接插入排序、折半插入排序和希尔排序。直接插入排序基本思想直接插入排序是一种最简单的插入排序方法,它的基本思想是:在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中原创 2017-08-07 09:57:12 · 404 阅读 · 0 评论