——【算法】
文章平均质量分 64
白衣染霜陈
你只管努力,剩下的交给时光。
展开
-
排序算法Java实现——桶排序
桶排序:一、条件桶排序不在是一种基于比较的排序方法,而是需要待排序列满足以下两个条件:1)待排序列的值处于一个可枚举的范围内2)待排序列所在可枚举范围不应太大,不然开销会很大。二、场景桶排序(Bucket Sort)的原理很简单,它是将数组分到有限数量的桶子里。假设待排序的数组a中共有N个整数,并且已知数组a中数据的范围[0, MAX)。在桶排序时,创建容量...原创 2019-11-19 22:45:39 · 1063 阅读 · 1 评论 -
排序算法Java实现——归并排序
归并排序(也可以叫合并排序),其实归并排序的本质就是合并排序。它是与插入排序、交换排序、选择排序不同的一类排序方法,不同之处在于:它要求:待排序序列是由若干个有序子序列组成。那么究竟什么是归并排序呢?归并这个词到底是什么意思?首先可以理解为就是合并,然后就是这个词的由来,可以说归并这个词是个生造词。 “归并”由merge翻译而来,所以归并排序亦可以翻译为:”合并排序“。因为此算法的原创 2017-04-25 22:09:04 · 2945 阅读 · 0 评论 -
排序算法Java实现——选择排序(直接选择排序)
基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果第一次比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索引,通过比较不断更新mix,最后得到整个数组中最小的元素的索引,将第一个数与第mix个数交换,则最小数位于数组的其实位置了,第二次比较:程序将记录定位在数组的第二个位置,拿第二个数据与后面的每个数据原创 2017-04-22 22:30:12 · 8422 阅读 · 1 评论 -
排序算法Java实现——选择排序(堆排序)
/*@(#)ArrayUtils.java 2017-4-22 * Copy Right 2017 Bank of Communications Co.Ltd. * All Copyright Reserved */package com.sort.cn;/** * TODO Document ArrayUtils * * @version 1.0.0,2017-4-2原创 2017-04-22 22:43:23 · 444 阅读 · 0 评论 -
排序算法Java——交换排序(之快速排序)
快速排序简称”快排“代码如下:/*@(#)quickSort.java 2017-4-17 * Copy Right 2017 Bank of Communications Co.Ltd. * All Copyright Reserved */package com.sort.cn;/** * TODO Document quickSort * * * @v原创 2017-04-21 00:05:04 · 432 阅读 · 0 评论 -
冒泡排序看这篇就够了(附Java代码实现)
冒泡排序是我们使用最多的排序方式之一,原因是简单易实现,且原理易懂。顾名思义,冒泡排序,它的排序过程就像水中的气泡一样,一个一个上浮到水面。为了方便大家理解上图:排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序。内部排序是数据记录在内存中进行排序。而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部...原创 2017-04-21 00:02:37 · 597 阅读 · 1 评论 -
排序算法Java——插入排序(希尔排序)
希尔排序Java实现直接上代码:/*@(#)shellSort.java 2017-4-20 * Copy Right 2017 Bank of Communications Co.Ltd. * All Copyright Reserved */package com.sort.cn;/** * TODO Document shellSort * * @ve原创 2017-04-20 23:58:47 · 482 阅读 · 1 评论 -
排序算法Java——插入排序(直接插入排序)
扑克牌相信大家都有玩过,直接插入排序和玩扑克牌很相似,右手抓取一张扑克牌,并把它插入左手拿着的排好序的扑克里面。如图:算法介绍:直接插入排序算法是最简单的算法,也是最基本的算法。SO,插入排序就是把当前待排序的元素插入到一个已经排好序的列表里面。插入排序的最坏运行时间是O(n2), 所以并不是最优的排序算法。特点是简单,不需要额外的存储空间,在元素少的时原创 2017-04-20 23:48:30 · 1897 阅读 · 1 评论 -
十大算法—-浅谈
数据结构建模十大算法1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法) 2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具) 3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问原创 2016-04-28 00:02:28 · 968 阅读 · 0 评论 -
排序算法概述java
分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(箱排序、基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速、希尔排序、堆排序。选择排序算法的时候:1.数据的规模2.数据的类型3.数据源已有的顺序。原创 2017-04-17 22:50:06 · 501 阅读 · 0 评论 -
【算法之旅】——-算法初识
递推法递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。递归法程序调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大原创 2015-08-17 15:16:56 · 1135 阅读 · 0 评论 -
十大编程算法
算法按实现方式分,有递归、迭代、平行、序列、过程、确定、不确定等等算法按设计范型分,有分治、动态、贪心、线性、图论、简化等等算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比 较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算原创 2015-08-17 15:19:24 · 720 阅读 · 0 评论 -
什么是区块链?
1.什么是区块链?说起这个东东,那可是一个很牛X的东东,从一开始的很多人质疑,到现在让很多人实现财务自由和怀疑人生。(我是真的已经怀疑人生了。。)好了,回归正题:区块链是通过去中心,化去信任的方式集体维护一个可靠数据库的技术方案。参与系统中的任意多个节点把系统一段时间内的全部的信息,数据通过密码学算法计算和记录到一个数据块(区块block)并且生成该区块的指纹用于链接下一个区块和校验。原创 2017-08-29 12:55:25 · 1362 阅读 · 2 评论