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
《算法图解》
算法图解
读后感
感谢图灵社区的电子书阅读奖励计划。算法在日常开发中有什么用,这或许是许多非专科出身的程序员会遇到的疑问。这也和算法如何学习有关系吧,感觉上就非常难学,给的例子又是非常理想化或者平常工作中遇不到的情况,自然而然就没有了学习的东西。如果平常的工作比较偏「业务」,简单说就是APICaller,调用一个API,然后使用React将数据渲染到页面上,处理下点击按钮,发下一个请求。如果是这种工作,可以说绝大部
ltaoo
·
2022-02-11 19:18
第一个python文件
参考《
算法图解
》一书,里面的案例是用python写的,借此机会学习一下python一,idea配置python 之前在大学里面也学过python的课程,当时我们用的是pycharm,这里就懒得去下载了
头真的好重好重Y
·
2022-02-09 09:41
python
算法
java
java图论普利姆及克鲁斯卡算法解决最小生成树问题详解
普利姆算法算法介绍应用-->修路问题图解分析克鲁斯卡尔算法算法介绍应用场景--公交站问题
算法图解
算法分析如何判断是否构成回路什么是最小生成树?
·
2021-11-24 13:43
java图论弗洛伊德和迪杰斯特拉算法解决最短路径问题
目录弗洛伊德算法算法介绍
算法图解
分析迪杰斯特拉算法算法介绍算法过程弗洛伊德算法算法介绍
算法图解
分析第一轮循环中,以A(下标为:0)作为中间顶点【即把作为中间顶点的所有情况都进行遍历,就会得到更新距离表和前驱关系
·
2021-11-24 13:42
Java十大经典排序
算法图解
目录0、算法概述0.1算法分类0.2算法复杂度0.3相关概念1、冒泡排序(BubbleSort)1.1算法描述1.2动图演示1.3代码实现2、选择排序(SelectionSort)2.1算法描述2.2动图演示2.3代码实现2.4算法分析3、插入排序(InsertionSort)3.1算法描述3.2动图演示3.3代码实现3.4算法分析4、希尔排序(ShellSort)4.1算法描述4.2动图演示4.
·
2021-11-04 19:31
python温度转换
温度转换掌握的知识点
算法图解
过程自然语言描述(IPS)二、处理过程中算法(类氏二元一次方程):1、根据F/f符号来区分怎么换算摄氏度;取字符串中的字母时,如果取的是最后一个,就用反向递减序号(-1),如果取第一个字母
18849911
·
2021-10-29 17:28
Python语言程序设计基础
python
开发语言
后端
弗洛伊德算法和迪杰斯特拉算法解决最短路径问题
弗洛伊德算法算法介绍
算法图解
分析第一轮循环中,以A(下标为:0)作为中间顶点【即把作为中间顶点的所有情况都进行遍历,就会得到更新距离表和前驱关系】,距离表和前驱关系更新为:弗洛伊德算法和迪杰斯特拉算法的最大区别是
威斯布鲁克.猩猩
·
2021-10-27 21:12
算法
图论
java
算法图解
,我也来思考
最近买了几本书,其中有一本是叫
算法图解
。买这本书是缘于阿里云开发者社区的大佬推荐的书籍,想到自己以前只是关注于问题的直接解决,而没有过多的思考计算是否合理、会不会绕弯路,效率是否低下。
刘小白DOER
·
2021-09-14 08:19
【算法】一问一答,为什么要学算法,以及如何学习
(❌)《数据结构与
算法图解
》的作者杰伊·温格罗说,如果你只在大学作业和求职面试中用到算法,说明你还没有见识过算法的真正威力。(✔️)确实,作为计算机的基础,数据结构与算法确实是软件世界的底层材料。
·
2021-08-23 14:53
算法数据结构
算法图解
-快速排序与散列表4-5/11
4快速排序4.1分而治之(divideandconquer,D&C)一种解决问题的思路:将新问题递归到可解决已解决的问题上去。或者可称为:归纳法。使用D&C解决问题的过程包括两个步骤:找出基线条件,这种条件必须尽可能简单。不断将问题分解(或者说缩小规模),直到符合基线条件。D&C并非可用于解决问题的算法,而是一种解决问题的思路。4.2快速排序使用D&C来解决,针对一个数组进行快速排序。step1先
废柴社
·
2021-06-27 17:45
算法图解
系列之选择排序[02]
2选择排序O(n2)2.2数组和链表//MARK:-2.2数组和链表//FIXME:(1)链表//FIXME:1)链表的元素可存储在内存的任何地方.//FIXME:2)链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串联在一起.//FIXME:3)链表优势:插入元素快,大O表示法:O(1);劣势:读取速度慢,因为必须要从第一个元素获取下一个元素的地址,以此类推.so大O表示法:O
Just丶Go
·
2021-06-27 13:24
Docker之启程
今天收到《
算法图解
》这本书了,所以开始学习《第一本Docker书》了。好像这两件事没有直接关系,但是都要看完,并运用起来。Docker
M_派森
·
2021-06-25 23:43
算法图解
3/11
3递归3.1递归与循环递归需要调用函数本身,只要未达基线条件,持续执行函数本身,达到基线条件则按条件返回结果;循环,文字解释起来跟递归很像,只要满足条件,继续重复操作,类似于while(i^=100)i++。这段解释不满意,图示可能更好,以后补充。递归性能上并无优势,但可能显示的更清晰。“如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解。如何选择要看什么对你来说更重要。”(参见h
废柴社
·
2021-06-23 18:17
2018-05-10
算法图解
p28选择排序#coding=utf-8#HelloWorldprograminPythonprint"5555HelloWorld!
木马音响积木
·
2021-06-20 05:17
算法图解
学习(一)
二分查找:二分查找也称折半搜索,是一种在有序数组中查找某一特定元素的搜索。:给出一个列表[1,3,5,7,9],现在要寻找数值为3在那个位置利用Python实现代码如下:While循环实现:defBinary_Search(arr,item):low=0high=len(arr)-1whilelowitem:high=mid-1else:low=mid+1returnNonemylist=[1,3
linSpark
·
2021-06-07 12:16
算法图解
学习(三)
递归:递归简单说就是自己调用自己。一般来说,递归需要有边界条件,当边界条件不满足时,递归前进;当边界条件满足时,递归返回。通常在解决问题时,使用循环可能性能更高,但如果使用递归,程序会更容易理解。递归通常很耗内存,这也是有时使用循环也不用递归的原因。关于递归经典的例子就是斐波那契数具体的python代码如下:deffac(n):ifn<=1:returnnelse:returnfac(n-1)+f
linSpark
·
2021-06-07 10:33
算法图解
学习 (六)
广度优先算法(BFS),是一种图形搜索算法,简单的来说,广度优先算法是从根节点开始开始,沿着树的宽度遍历树的节点,当所有节点都被访问过后,算法中止BFS遍历的方法是:第一步:首先先从根节点A开始,访问A第二步:访问A之后,访问A的邻接点,其中C,D,F都是A的邻接点,由于在实现过程中顶点ABCDEFG是按顺序存储的,C在D,F之前,先访问C,接着访问D,F第三步:接着访问C的邻接点B,之后访问F的
linSpark
·
2021-06-06 22:57
JVM垃圾回收引用计数法和根搜索
算法图解
上一篇>>JVM垃圾回收STW(Stop-The-World)代码演示引用计数法(不推荐使用)可回收对象a、没有被引用的对象:Ab、没有互相应用的对象:BCD缺陷循环依赖对象不可回收:EFReferenceCountingGCobjA=newReferenceCountingGC();ReferenceCountingGCobjB=newReferenceCountingGC();objA.ins
架构师_迦叶
·
2021-06-05 18:16
狄克斯特拉(Dijkstra)算法原理详细解释与实现(python)
目录写在前面1.简介2.原理2.1找出最便宜的节点2.2计算前往该节点的各个邻居的开销2.3重复上面的步骤实现总结写在前面本文原理摘自《
算法图解
》这本书。
子木呀
·
2021-05-30 20:49
Dijkstra
数据结构
最短路径
广度优先搜索
图论
学习《
算法图解
》
1.大O表示法是一种特殊的表示法,指出了算法的速度有多快。O(n)小结:二分查找的速度比简单查找快得多。O(logn)比O(n)快。需要搜索的元素越多,前者比后者就快得越多。算法运行时间并不以秒为单位。算法运行时间是从其增速的角度度量的。算法运行时间用大O表示法表示。2.链表和数组链表中的元素可存储在内存的任何地方。数组和链表哪个用得更多呢?显然要看情况。但数组用得很多,因为它支持随机访问。有两种
niffler_
·
2021-05-10 21:35
读书笔记 --《
算法图解
》
文章目录1.大O表示法1.旅行商前往n个城市,确保旅程最短。求可能的排序:n!种可能方案2.仅当列表是有序的时候,二分查找才管用2.选择排序1.数组&链表3.递归1.递归2.栈4.快速排序5.散列表6.广度优先搜索7.狄克斯特拉算法(计算加权图的最短路径)8.贪婪算法9.动态规划10.K最近邻算法11.扩展1.大O表示法算法的运行时间用大O表示法表示大O运行时间转换为操作数算法的速度指的并非时间,
聪少少灬
·
2021-05-09 18:16
机器学习
算法
数据分析
算法
数据结构
机器学习
代码小工蚁的#《
算法图解
》#学习笔记-C8贪婪算法
代码小工蚁的#《
算法图解
》#学习笔记-C8贪婪算法C8贪婪算法greedyalgorithms一、贪婪算法贪婪算法又称贪心算法。贪婪算法通过寻找局部最优解,来达到全局最优解。贪婪算法是一种近似算法。
代码小工蚁
·
2021-05-08 18:13
Schedule
WeekComputerScience
算法图解
剑指offer神经网络1DataManipulation选择排序数组/字符串/链表/树/栈和队列神经网络基础2OperatingSystem递归递归和循环/
霞客环肥
·
2021-05-07 16:42
算法图解
读后感(理解概念)简单查找和二分查找、数组和链表、 递归、快速排序、散列表、广度优先搜索、迪特斯特拉算法
目录第一节简单查找和二分查找第二节数组和链表第三节递归第四节快速排序第五节散列表第六节广度优先搜索第七节、迪特斯特拉算法第一节简单查找和二分查找简单查找有n个数,在最糟糕的情况下需要遍历n次,也就是O(n)。二分查找取中间的数进行比较,偏小取左边区域中间的数再比较,偏大取右边区域中间的数再比较,直到找到数值或者找不到为止。有n个数,在最糟糕的情况下需要遍历logn(在算法中,logn指log2n)
halulu.me
·
2021-04-29 20:52
读书体会
python入门之算法学习
前言参考学习书籍:《
算法图解
》[美]AdityaBhargava,袁国忠(译)北京人民邮电出版社,2017二分查找binary_search实现二分查找的python代码如下:defbinary_search
·
2021-04-22 17:23
深入思考MySQL索引底层为什么用到B+树,为什么不用平衡树、红黑树、二叉树、B树、map等结构?
算法图解
网站,可以看到树是怎么生成的1.二叉查找树(BinarySearchTree)既然都是树,就先从二叉查找树开始吧。
时间煮菜
·
2021-04-20 04:40
【Astar寻路
算法图解
】Java实现
Astar寻路算法1.什么是Astar寻路算法拥有一个地图,地图上面有起点和终点一个机器人在起点,希望用最短的距离到达终点Astar算法可以用来解决这个问题2.算法引入的三个工具2.1两个数据结构Open表,用来存储当前能够到达的格子,Open表使用优先队列构建,这样的话Open表就会自动把F值最小的结点放在队首了,poll()方法会自动取队首并且将队首删除Close表,用来存储已经到达过的格子使
Charon_cc
·
2021-04-17 21:53
算法学习笔记
java
算法
数据结构
《
算法图解
》读书笔记-10
第七章:其他算法这里还有一些零碎的优秀算法,但是不好划分到前面的章节中,因此这里就集中归类在一起;1.欧几里得算法这个算法是用来求两个数的最大公约数的;比如将第一个数设置为a,第二个数设置为b,具体的逻辑是:求a%b的值,如果这个值不是0,则将b赋值给a,将这个值赋值给b,继续下一个循环如果a%b的值为0,那么b就是两个数的最大公约数2.素性测试这是个很有意思的算法,作用是判断某个大数是质数的可能
吴雨墨
·
2021-04-11 00:17
算法
《
算法图解
》读书笔记-09
第六章:聚类顾名思义,聚类就是把一堆数据分成一簇一簇的类;k-means算法这是一种用于聚类的算法,需要在聚类之前率先确定数据需要分成多少簇,不同的簇数会导致不同的结果,因此使用者也需要选择合适的簇数量;这是原数据在图上的位置:让我们大概选择三个重心:算法计算每个元素到最近重心的距离,将每个元素划分近离自己最近的簇中:重新计算同簇元素的重心,将重心移动到计算出来的重心:计算中…最后重心会固定在一个
吴雨墨
·
2021-04-10 20:41
聚类
算法
《
算法图解
》读书笔记-08
7.迪菲-赫尔曼密钥交换这是一种所有交换都公开,但仍然安全可靠的密钥交换方式;具体而言。它倚仗这样一种“混合密钥的算法”,特点有:算法可以将两种密钥混合,生成和原来的密钥毫不相关的新密钥新密钥的特性只由构成参与运算的密钥决定,也就是说把三种密钥运算为一个新密钥时,即使顺序不同结果也是相同的;AB生成密钥P将密钥P发送给B生成私有密钥SA生成私有密钥SB计算生成密钥P-SA计算生成密钥P-SB将密钥
吴雨墨
·
2021-04-10 20:44
算法
网络
《
算法图解
》读书笔记-07
第五章:安全算法这一章节主要讨论的是计算机在网络通信中的安全问题,为了保障你的信息不被各种各样居心叵测的人获取,计算机领域的科学家们提出了很多富有创意并且强大稳定的算法;1.安全和算法首先让我们明确四个概念:窃听:A向B传输数据时被C意外获取假冒:A向B传输数据时C谎称自己是A向B发送信息篡改:A向B发送了一条消息,但这条消息被C拦截并修改后重新发给B(人为攻击和设备故障都可能引起篡改)事后否认:
吴雨墨
·
2021-04-10 17:51
算法
python
安全
《
算法图解
》读书笔记-05
第四章:图的搜索要研究图的搜索,首先要讲清楚什么是图;你可以理解为:图就是顶点和顶点之间连接的集合;比如全国的铁路线网,我们将车站抽象为顶点,将连接车站的铁路抽象为车站之间的连接,如果有一套寻路算法,我们就能轻松得知从A车站到B车站怎么走最近,同时还能得知要怎么换乘;图中顶点之间的连线是可以有权重的(比如车站之间每条铁路的长度不同),连接也可以是单向的(就像生活中的单行道);根据搜索的策略不同,有
吴雨墨
·
2021-04-09 15:40
算法
数据库
数据结构
《
算法图解
》-读书笔记-04
第三章:数组的查找前两章我们熟悉了各种各样的数据结构,现在我们来关注从数据中查找元素的方法;线性查找这是最简单枯燥的查找方式,它的逻辑是:检查当前元素是否匹配,不匹配则将视线移动到下一个元素上是的,这样简单的逻辑足够完成查找任务,但它显然不够快;因为如果我们要的数据在数组的最后面,而它只能一个元素检查一次慢悠悠的向后搜索;数据量为n时,时间复杂度为O(n)O(n)O(n)二分查找执行二分查找的前提
吴雨墨
·
2021-04-09 11:19
算法
数据结构
学算法之<<
算法图解
>> 笔记
算法图解
在这里,向大家推荐一本书,
算法图解
。正如这本书副标题所写:像小说一样有趣的算法入门书。整本书讲解算法之前通常从实际应用中引出问题,像探案一样一步一步道出真谛。书中绝无长篇大论以及枯燥
·
2021-03-19 22:39
趣味
算法图解
IDEA是由SándorP.Fekete、SebastianMorr和SebastianStiller共同推出的图解算法系列。它们最初是为Sándor在德国不伦瑞克工业大学开设的算法和数据结构讲座而设计的,作者希望它们能够有更广的用途,因此在网上发布了这个项目,希望能够帮助到教师、学生和有好奇心的人们。算法将会不断更新,可以访问页面了解更多信息:https://idea-instructions.
·
2021-03-15 13:31
javascript
趣味
算法图解
IDEA是由SándorP.Fekete、SebastianMorr和SebastianStiller共同推出的图解算法系列。它们最初是为Sándor在德国不伦瑞克工业大学开设的算法和数据结构讲座而设计的,作者希望它们能够有更广的用途,因此在网上发布了这个项目,希望能够帮助到教师、学生和有好奇心的人们。算法将会不断更新,可以访问页面了解更多信息:https://idea-instructions.
·
2021-03-15 13:54
javascript
浅谈 分而治之-欧几里得算法
浅谈分而治之-欧几里得算法一、抛出问题二、欧几里得算法及证明一、算法二、证明此问题讨论来源于《
算法图解
》[美]AdityaBhargava一、抛出问题假设你有一小块田地,面积是1680*640。
兴涛
·
2021-03-07 18:03
数据结构与算法
算法
算法图解
chapter1二分查找#1.2二分查找defbinary_search(list,item):low=0hight=len(list)-1whilelowitem:#猜大了hight=mid-1else:low=mid+1#猜小了returnNonemy_list=[1,3,5,7,9]print(binary_search(my_list,3))print(binary_search(my_l
w要变强
·
2021-03-02 11:31
算法
【
算法图解
】学习笔记
一、算法简介1.1二分查找对于包含n个元素的列表,用二分查找最多需要log2n步,而简单查找最多需要n步仅当列表是有序的时候,二分查找才管用代码实现:defbinary_search(list,item):low=0high=len(list)-1whilelowitem:high=mid-1else:low=mid+1returnNonemy_list=[1,3,5,7,9]print(bina
From Star.
·
2021-02-19 15:42
算法
python
【Python_038】算法 | 狄克斯特拉算法(Dijkstra)
本篇博客介绍狄克斯特拉算法,可以算是BFS进阶版(加上了权重的考量)书籍参考:《
算法图解
》狄克斯特拉算法找出加权图中前往X的最短路径狄克斯特拉算法只适用于无负权重的有向无环图(无向图意味着两个节点彼此指向对方
Haaaley
·
2021-02-18 17:37
Python
算法
python
常用数据结构
算法图解
二分查找1.对于有序的集合可以使用2.从中间开始查找defbinary_search(list,item):low=0high=len(list)-1whilelowitem:high=mid-
戏说不是乱说
·
2021-02-14 12:31
python
数据结构
快速排序
算法
【Python_036】算法 | 快速排序
上回书说到选择排序,本篇博客介绍快速排序参考书籍:《
算法图解
》在介绍选择排序之前,先介绍递归的概念。
Haaaley
·
2021-02-10 16:43
Python
算法
python
【Python_034】算法 | 二分法
书籍参考:《
算法图解
》概念二分查找是一种算法,其输入是一个有序的元素列表。
Haaaley
·
2021-02-09 10:32
Python
python
算法
算法图解
学习笔记(三)——递归
一、递归的引入小故事:一个盒子里还有盒子,盒子的盒子里面还有盒子,祖母说钥匙就在其中某个盒子中,为找到钥匙,用什么算法第一种方法:----普通while循环第二种方法:---递归,函数调用自己总结:其实递归方案的引用,对程序的性能没什么影响,只是方便理解,所以具体应用中,需要考虑实际场景来使用递归二、基线条件和递归条件例如:我们编写一个倒计时的函数defcountdown(i):print(i)c
小胖测试历险记
·
2021-01-12 22:39
算法图解学习笔记
算法
python
算法图解
学习笔记(二)——选择排序
算法思想:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。Python-实现deffindSmallest(arr):#存储最小的值smallest=arr[0]#存储最小值的索引smallest_index=0foriinrange(1,len(arr)):if(arr[i]
小胖测试历险记
·
2021-01-04 20:28
算法图解学习笔记
python
算法
排序算法
算法图解
学习笔记(一)——二分法
Python实现-----二分法----原理:二分法查询目标元素,就是依次选取中间元素判断是大了还是小了,如果大了就选取之前的一半,重复以上步骤(选取中间元素之后再进行判断),知道最后查询出所需要的元素。切记如果能够使用二分法的序列一定是有序的序列时间复杂度:O(log2n);#二分法#定义一个函数,传入一个list和一个元素defbinary_search(list,item):#定义low和h
小胖测试历险记
·
2021-01-03 16:45
算法图解学习笔记
二分法
算法
python
别人的《
算法图解
》笔记+自己的一些思考
前言:这个笔记我大致浏览了一下非常简略但是有一些非常好的观察。也给出了不少需要注意的点。正文:仅当列表是有序的二分查找才有效,但是要注意顺序是不是重要,如果重要我们才能预排序。而且要注意有时候反过来想:有时候我们需要查找一些东西,而且是顺序并不重要这个时候我们要想起来用二分查找进行优化,而不是题目提示你用二分查找你才想起来。每个递归函数都有两部分,基线条件(basecase)和递归条件(recur
Tech In Pieces
·
2021-01-02 03:40
Reading
Notes
Dive
Deep
in
Algorithm
[记录]我的数据结构学习路径
书单《学习JavaScript数据结构与算法》《大话数据结构》《
算法图解
》《剑指offer》代码/**@Author:ADI*@Date:2020-11-2514:15:14*@LastEditors:
是ADI呀
·
2020-12-19 15:20
《
算法图解
》读书笔记 -- 针对入门
算法图解
读书笔记前三章分别是二分查找数组和链表递归二分查找的核心思路:利用双指针,每次比较完成之后,重新定位指针的位置。选择排序:数组和链表需要储存多项数据时,有两种基本方式:数组和链表。
Tech In Pieces
·
2020-12-13 00:02
Reading
Notes
《
算法图解
》读书笔记
#广度优先搜索是怎么实现的每个节点都与邻近节点相连,但是这种链接不一定是一对一,而是多种多样,也可能出现一对多或者多对多或者一对多?书上说能用散列表表示这种关系?散列表的确可以将键映射到值,但是每个值不是只能映射到一个键吗?注意我们在这里只关注当前一个节点以及此节点对应的下面的,也就是说只考虑一对多模式,一代表键(unique),多代表值。如下:graph={}graph['you']=['ali
Tech In Pieces
·
2020-12-13 00:44
Reading
Notes
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他