E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《算法图解》
python
算法图解
之快速排序(二)
选择排序的思路:得到一个list,取出最小的值放到新的list中,并且在原list中删掉该元素。重复操作直到取出最后一个数。快速排序的平均时间复杂度为O(NlogN),在最糟糕情况下,快速排序的时间复杂度可能为O(n^2)python练习:defquicksort(array): iflen(array)pivot] returnquicksort(less)+[pivot]+quicksort(
lei___
·
2018-01-03 00:00
常见的五类排序
算法图解
和实现(交换类:冒泡排序,递归的快速排序)
转自:http://www.cnblogs.com/kubixuesheng/p/4353616.html冒泡排序算法:总的来说就是两两交换,反复直到有序,第一个记录和第二个记录,若逆序则交换,然后比较第二个和第三个记录,以此类推,直到第n个记录和第n-1个记录比较完毕为止,第一趟排序,结果关键字最大的记录被安排在最后一个位置。对前n-1个记录继续冒泡排序,使得关键字次大的记录安排在第n-1个位置
FeelTouch
·
2017-12-11 00:39
数据结构/编程算法/技术思想
考试/面试/笔试
常见的五类排序
算法图解
和实现(归并类:二路归并排序)
归并类的排序算法归并:将两个或两个以上的有序表组合成一个新的有序表。内部排序中,通常采用的是2-路归并排序。即:将两个位置相邻的记录有序子序列归并为一个记录有序的序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。图解如下看成是n个有序的子序列(长度为1),然后两两归并。得到n/2个长度为2或1的有序子序列。继续亮亮归并
FeelTouch
·
2017-12-10 16:23
考试/面试/笔试
JAVA
2017年读书清单
一、已读清单1、《
算法图解
》2、《最重要的事只有一件》3、《Angular权威教程》4、《第一行代码》第二版5、《响应式Web设计》6、《Java编程思维》7、《GitHub入门与实践》8、《客户端存储技术
葉糖糖
·
2017-12-10 01:48
送书 | 你一定能看懂的算法基础书(代码示例基于Python)
本文引自图灵教育《
算法图解
》你一定能看懂的算法基础书;代码示例基于Python;400多个示意图,生动介绍算法执行过程;展示不同算法在性能方面的优缺点;教会你用常见算法解决每天面临的实际编程问题。
AI科技大本营
·
2017-11-24 00:00
送书 | 你一定能看懂的算法基础书(代码示例基于Python)
本文引自图灵教育《
算法图解
》你一定能看懂的算法基础书;代码示例基于Python;400多个示意图,生动介绍算法执行过程;展示不同算法在性能方面的优缺点;教会你用常见算法解决每天面临的实际编程问题。
AI科技大本营
·
2017-11-24 00:00
学习笔记_算法_
算法图解
像小说一样有趣的算法入门书 all
一、二分法查找cs50中的撕电话本哈哈哈大O表示法二、选择排序链表和数组链表中存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。数组排列在一起,你可以推出他们的位置选择排序遍历所有列表,然后找出想要排的东西,添加到新列表中再次执行遍历,选择,添加新列表速度为O(n^2)三、递归基线条件和递归条件defcountdown(i):printiifi<=0:#基线条件returnelse:#递
tee227
·
2017-11-17 19:42
算法学习
《
算法图解
》第九章 动态规划
第九章动态规划用表格法进行找最优方案背包问题的最优方案出去玩带东西的最优方案对于字典查词的话,如果输入有误的话,比较俩个单词的相似性,可以用最长公共子串,不同的为零,相同的把左上方的值再加1导入当前的格子里,(为什么要引入最长公共子串呢及接着引出最长公共子序列呢),最长公共子序列,字母不同的话,就选择左边和上边格子里数值大的那个,相同的话,就是选完左边和上边格子里值大的然后再加1动态规划不能解决的
阿尔卑斯山脉的小菇凉
·
2017-11-16 10:05
算法图解
总结
算法图解
知识点
二分查找O(log2*n)有序的元素列表importmath#导入math#math.ceil(ˇˍˇ)向上取整#math.floor向下取整#math.round四舍五入#均返回float型defbinary_search(arr,key):head=0tail=len(arr)middle=int(math.ceil((head+tail)/2))whiletail>head:ifarr[mi
笔芯er
·
2017-10-21 11:26
总结
算法图解
知识点
二分查找O(log2*n)有序的元素列表importmath#导入math#math.ceil(ˇˍˇ)向上取整#math.floor向下取整#math.round四舍五入#均返回float型defbinary_search(arr,key):head=0tail=len(arr)middle=int(math.ceil((head+tail)/2))whiletail>head:ifarr[mi
笔芯er
·
2017-10-21 11:26
JavaScript 排序
算法图解
(JavaScript sorting algorithms)
基础构造函数以下几种排序算法做为方法放在构造函数里。functionArrayList(){vararray=[];//交换位置varswap=function(index1,index2){varaux=array[index1];array[index1]=array[index2];array[index2]=aux;}this.insert=function(item){array.pus
Givebest
·
2017-08-21 00:00
javascript
最小生成树的两种
算法图解
(Kruskal与prim)
ProblemDescription省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数N、村庄数目M(usingnamespacestd;#
BBHHTT
·
2017-08-14 20:38
ACM算法规整
图论
《
算法图解
》学习笔记
转载请注明出处:http://blog.csdn.net/BruceHurrican/article/details/76535719最近在学习《
算法图解
》,写下此文当作学习笔记了。
BruceHurrican
·
2017-08-01 00:00
阶段总结
算法学习
动态规划(DP)的整理-Python描述
摘录于《
算法图解
》以上的都建议自己手推一下,然后知道怎么回事,核心的部分是142页核心公式,待会代码会重现这个过程,推荐没有算法基础的小伙伴看这本书《
算法图解
》很有意思的书,讲的很清晰,入门足够更深入的请阅读
哈士奇说喵
·
2017-07-22 01:45
数据结构与算法
《
算法图解
》书摘-狄克斯特拉算法贪婪算法等
欢迎访问我的博客:http://wangnan.tech第七章狄克斯特拉算法前一章使用了广度优先搜索,它找出的是段数最少的路径(如第一个图所示)。如果你要找出最快的路径(如第二个图所示),该如何办呢?为此,可使用另一种算法——狄克斯特拉算法(Dijkstra’salgorithm)。狄克斯特拉算法包含4个步骤。找出最便宜的节点,即可在最短时间内前往的节点。对于该节点的邻居,检查是否有前往它们的更短
GhostStories
·
2017-06-29 14:03
算法图解
的一点总结
《
算法图解
》这本书不错,就像书封面说的一样,像小说一样有趣的算法入门书。在这里记下我学习的笔记。
sakuraxx
·
2017-06-08 21:00
《
算法图解
》代码实现和改进(读书笔记)
《
算法图解
》代码实现和改进请随意观看表演二分查找数组和链表递归递归条件和基线条件快速排序散列表广度优先搜索狄克斯特拉算法贪婪算法二分查找defbin_search(list,item): low=0 high
AsuraDong
·
2017-06-06 13:00
读书笔记
HOTP和TOTP
算法图解
该文章来自我的博客摘要:本文根据RFC4226和RFC6238文档,详细的介绍HOTP和TOTP算法的原理和实现。两步验证已经被广泛应用于各种互联网应用当中,用来提供安全性。对于如何使用两步验证,大家并不陌生,无非是开启两步验证,然后出现一个二维码,使用支持两步验证的移动应用比如GoogleAuthenticator或者LassPassAuthenticator扫一下二维码。这时候应用会出现一个6
米车阿里
·
2017-06-04 04:38
Grokking Algorithms
算法图解
一本基于Python的算法科普读本
GrokkingAlgorithms
算法图解
是由美国软件工程师AdityaBhargava写的一本算法科普读物,由图灵教育引进,组织翻译之后17年三月份正式出版,目前来说知名度还不是很高。
xiaoyaoyao17
·
2017-06-01 10:55
Grokking
Algorithms
算法图解
读书笔记
JVM GC 垃圾回收
算法图解
前面在Java垃圾收集算法中讲过垃圾收集算法中的分代收集器,今天看了一个视频发现里面将的也很不错,所以决定再总结一下。我们知道,在分代收集算法中堆空间被分为新生代和老年代。因为新生代中对象的存活率比较低,所以一般采用复制算法,老年代的存活率一般比较高,一般使用”标记-清理”或者”标记-整理”算法进行回收。上面的这个图已经很清楚的将堆的分区展现出来了。下面我们来看看具体的算法过程。新创建的对象一般放
大林-Java
·
2017-02-16 15:52
Java
KMP
算法图解
当源字符串src和模式串pat不匹配的时候,如下:Paste_Image.png此时,用src(i)与pat的开头pat(0)比较,这时,模式串前进的步数是最大的.Paste_Image.png但是,会漏掉一些可能匹配的串,如下:Paste_Image.png显然,为了不漏掉其中任意可能匹配的case,最大的h决定了模式串可以移动的最大步数.那么怎么去求这个h呢?Paste_Image.png根据
bamuyy
·
2016-11-18 09:52
KMP
算法图解
当源字符串src和模式串pat不匹配的时候,如下:Paste_Image.png此时,用src(i)与pat的开头pat(0)比较,这时,模式串前进的步数是最大的.Paste_Image.png但是,会漏掉一些可能匹配的串,如下:Paste_Image.png显然,为了不漏掉其中任意可能匹配的case,最大的h决定了模式串可以移动的最大步数.那么怎么去求这个h呢?Paste_Image.png根据
bamuyy
·
2016-11-18 09:52
1.选择排序
2.实现流程找到数组中最小的那个元素将它和数组的第一个元素交换位置在剩下的元素中找到最小的元素将它与数组的第二个元素交换位置3.
算法图解
选择排序选择排序红色表示当前最小值,黄色表示已排序的序列,蓝色表示当前位置
MinkChannel
·
2016-07-03 21:24
Java千百问_07JVM架构(010)_什么是老生代的标记算法
即将认定为可回收的内存做一个标记,然后统一将被标记的清理,
算法图解
如下:算法过程:1.先判定对象是否可回收,对其标记。2.统一回收(简单地删除对垃圾对象的内存
ooppookid
·
2016-05-28 10:00
老生代标记算法
标记整理算法
标记清除算法
java标记紧凑算法
标记紧凑算法
Java千百问_07JVM架构(009)_什么是新生代的复制算法
什么是新生代的复制算法了解堆内存看这里:java堆内存是什么样的了解java垃圾回收看这里:java垃圾回收机制是什么所谓复制算法(Copying),即将内存平均分成A区、B区两块,进行复制+清除垃圾的操作,
算法图解
如下
幽灵雾
·
2016-05-28 10:17
======02技术点
Java千百问
======07JVM架构
Java千百问
Java千百问-JVM架构
Java千百问_07JVM架构(009)_什么是新生代的复制算法
什么是新生代的复制算法了解堆内存看这里:java堆内存是什么样的了解java垃圾回收看这里:java垃圾回收机制是什么所谓复制算法(Copying),即将内存平均分成A区、B区两块,进行复制+清除垃圾的操作,
算法图解
如下
ooppookid
·
2016-05-28 10:00
新生代算法
内存复制算法
复制算法详解
Copying算法
新生代复制算法
Java中使用jvisualvm进行可视化内存分析
在前面我们说过java中的GC的相关内容:JVM中的flag设置理解GC日志Java垃圾收集
算法图解
Java中的GC(分代收集器)JVM垃圾收集器下面来说说可视化的GC工具-jvisualvm,jvisualvm
DroidMind
·
2016-03-26 17:15
Java中使用jvisualvm进行可视化内存分析
在前面我们说过java中的GC的相关内容:JVM中的flag设置理解GC日志Java垃圾收集
算法图解
Java中的GC(分代收集器)下面来说说可视化的GC工具-jvisualvm,jvisualvm已经被集成在
hp910315
·
2016-03-26 17:00
jvm
内存分析
JVisualVM
工具
数据结构之排序算法(四)-归并排序
算法图解
是:MergeSort.javapublicclassMergeSort{//时间复杂度O(nlogn) p
tuke_tuke
·
2015-12-25 15:00
数据结构
算法
归并排序
合并
数据结构之最小生成树 Kruskal算法
克鲁斯卡尔
算法图解
4. 克鲁斯卡尔算法分析 5. 克鲁斯卡尔算法的代码说明 6.
followMyInclinations
·
2015-11-08 21:00
数据结构
最小生成树
kruskal算法
常见的五类排序
算法图解
和实现(多关键字排序:基数排序以及各个排序算法的总结)
基数排序思想 完全不同于以前的排序算法,可以说,基数排序也叫做多关键字排序,基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。 两种方式: 1、最高位优先,先按照最高位排成若干子序列,再对子序列按照次高位排序 2、最低位优先:不必分子序列,每次排序全体元素都参与,不比较,而是通过分配+收集的方式。 多关键字排序 例:将下表所示的学生成绩单按数学成绩的等
·
2015-11-07 11:20
排序算法
常见的五类排序
算法图解
和实现(选择类:简单选择排序,锦标赛排序,树形选择排序,堆排序)
选择类的排序算法 简单选择排序算法 采用最简单的选择方式,从头到尾扫描待排序列,找一个最小的记录(递增排序),和第一个记录交换位置,再从剩下的记录中继续反复这个过程,直到全部有序。 具体过程: 首先通过 n –1 次关键字比较,从 n 个记录中找出关键字最小的记录,将它与第一个记录交换。 再通过 n –2 次比较,从剩余的 n –1 个记录中找出关键字次小的记录,将它与第二个记录交换。
·
2015-11-07 11:19
选择排序
常见的五类排序
算法图解
和实现(归并类:二路归并排序)
归并类的排序算法 归并:将两个或两个以上的有序表组合成一个新的有序表。 内部排序中,通常采用的是 2-路归并排序。即:将两个位置相邻的记录有序子序列归并为一个记录有序的序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 图解如下 看成是 n 个有序的子序列(长度为 1),然后两两归并。
·
2015-11-07 11:18
排序算法
常见的五类排序
算法图解
和实现(交换类:冒泡排序,递归的快速排序)
冒泡排序算法: 总的来说就是两两交换,反复直到有序,第一个记录和第二个记录,若逆序则交换,然后比较第二个和第三个记录,以此类推,直到第 n 个记录和第 n-1个记录比较完毕为止,第一趟排序,结果关键字最大的记录被安排在最后一个位置。对前 n-1个记录继续冒泡排序,使得关键字次大的记录安排在第 n-1个位置。如此重复,直到没有需要交换的记录为止(仅仅是第一个和第二个交换过为止)。整个一趟趟的选出最
·
2015-11-07 11:15
冒泡排序
常见的五类排序
算法图解
和实现(插入类:直接插入排序,折半插入排序,希尔排序)
基本的五类排序算法(插入,选择,交换,归并,基数排序)。排序:将数据元素的一个任意序列,重新排列成一个按关键字有序的序列。 排序的稳定性:待排序列中有大于等于2个相同的项,且排序前后,相同项的相对位置是否发生了变化(如果变化了就是不稳定的排序,不变化就是稳定的) 内部排序:若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序;(待排序列全部放入内存) 插入累排序:(直接插入,折半
·
2015-11-07 11:14
插入排序
字符串模式匹配之KMP
算法图解
与 next 数组原理和实现方案
之前说到,朴素的匹配,每趟比较,都要回溯主串的指针,费事。则 KMP 就是对朴素匹配的一种改进。正好复习一下。 KMP 算法其改进思想在于: 每当一趟匹配过程中出现字符比较不相等时,不需要回溯主串的 i指针,而是利用已经得到的“部分匹配”的结果将模式子串向右“滑动”尽可能远的一段距离后,继续进行比较。如果 ok,那么主串的指示指针不回溯!算法的时间复杂度只和子串有关!很好。
·
2015-11-07 11:13
ext
软考算法题大观
以前的一篇博客解释过一些排序算法的原理:数据结构与算法之初体验(二)
算法图解
部分 1、穷举法 意义:一一列举,逐一尝试。
·
2015-10-31 09:12
算法
Prim算法(三)之 Java详解
普里姆
算法图解
3. 普里姆算法的代码说明 4.
·
2015-10-27 11:49
java
Prim算法(二)之 C++详解
普里姆
算法图解
3. 普里姆算法的代码说明 4.
·
2015-10-27 11:48
Prim
Prim算法(一)之 C语言详解
普里姆
算法图解
3. 普里姆算法的代码说明 4.
·
2015-10-27 11:48
Prim
拓扑排序(三)之 Java详解
拓扑排序的
算法图解
3. 拓扑排序的代码说明 4.
·
2015-10-27 11:47
java
拓扑排序(二)之 C++详解
拓扑排序的
算法图解
3. 拓扑排序的代码说明 4.
·
2015-10-27 11:46
C++
拓扑排序(一)之 C语言详解
拓扑排序的
算法图解
3. 拓扑排序的代码说明 4.
·
2015-10-27 11:46
C语言
LeetCode【3】.Longest Substring Without Repeating Characters--
算法图解
及java实现
第三道题LongestSubstringWithoutRepeatingCharacters如下: Givenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Forexample,thelongestsubstringwithoutrepeatinglettersfor"abcabcbb"is"abc"
waycaiqi
·
2015-05-28 08:00
java
LeetCode
map
hash
substring
常见的五类排序
算法图解
和实现(多关键字排序:基数排序以及各个排序算法的总结)...
原文链接:http://www.cnblogs.com/kubixuesheng/p/4374225.html基数排序思想完全不同于以前的排序算法,可以说,基数排序也叫做多关键字排序,基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。两种方式:1、最高位优先,先按照最高位排成若干子序列,再对子序列按照次高位排序2、最低位优先:不必分子序列,每次排序全体元素都参与,不比较
diaoyanqin5061
·
2015-03-29 01:00
常见的五类排序
算法图解
和实现(多关键字排序:基数排序以及各个排序算法的总结)
基数排序思想完全不同于以前的排序算法,可以说,基数排序也叫做多关键字排序,基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。两种方式:1、最高位优先,先按照最高位排成若干子序列,再对子序列按照次高位排序2、最低位优先:不必分子序列,每次排序全体元素都参与,不比较,而是通过分配+收集的方式。多关键字排序例:将下表所示的学生成绩单按数学成绩的等级由高到低排序,数学成绩相同的
dashuai的博客
·
2015-03-29 01:00
机器学习算法原理与实践(二)、meanshift
算法图解
以及在图像聚类、目标跟踪中的应用
【原创】Liu_LongPo转载请注明出处【CSDN】http://blog.csdn.net/llp1992最近在关注跟踪这一块的算法,对于meanshift的了解也是来自论文和博客,本博客将对meanshift算法进行总结,包括meanshift算法原理以及公式推导,图解,图像聚类,目标跟踪中的应用以及优缺点总结。算法原理meanshift算法其实通过名字就可以看到该算法的核心,mean(均值
llp1992
·
2015-03-27 16:00
聚类
跟踪
MeanShift
常见的五类排序
算法图解
和实现(归并类:二路归并排序)
归并类的排序算法归并:将两个或两个以上的有序表组合成一个新的有序表。内部排序中,通常采用的是2-路归并排序。即:将两个位置相邻的记录有序子序列归并为一个记录有序的序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。图解如下看成是n个有序的子序列(长度为1),然后两两归并。得到n/2个长度为2或1的有序子序列。继续亮亮归并
dashuai的博客
·
2015-03-25 11:00
常见的五类排序
算法图解
和实现(选择类:简单选择排序,锦标赛排序,树形选择排序,堆排序)
选择类的排序算法简单选择排序算法采用最简单的选择方式,从头到尾扫描待排序列,找一个最小的记录(递增排序),和第一个记录交换位置,再从剩下的记录中继续反复这个过程,直到全部有序。具体过程:首先通过n–1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换。再通过n–2次比较,从剩余的n–1个记录中找出关键字次小的记录,将它与第二个记录交换。重复上述操作,共进行n–1趟排序后,排序结束
dashuai的博客
·
2015-03-24 11:00
常见的五类排序
算法图解
和实现(交换类:冒泡排序,递归的快速排序)
冒泡排序算法:总的来说就是两两交换,反复直到有序,第一个记录和第二个记录,若逆序则交换,然后比较第二个和第三个记录,以此类推,直到第n个记录和第n-1个记录比较完毕为止,第一趟排序,结果关键字最大的记录被安排在最后一个位置。对前n-1个记录继续冒泡排序,使得关键字次大的记录安排在第n-1个位置。如此重复,直到没有需要交换的记录为止(仅仅是第一个和第二个交换过为止)。整个一趟趟的选出最值的过程,仿佛
dashuai的博客
·
2015-03-21 02:00
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他