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
《数据结构与算法之美》
数据结构与算法之美
1.介绍数据结构和算法解决的是如何更省、更快地存储和处理数据的问题.数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。数据结构是静态的,它只是组
ning先森
·
2020-06-29 18:11
算法-ALGORITHMS
数据结构-DATA
STRUCTURE
程序人生-PROGRAMMED
LIFE
数据结构与算法之美
【总结笔记】 -- 队列
先进先出,就是典型的“队列”。队列只支持两个基础操作:入队enqueue(),放一个数据到队尾,和,出队dequeue()从队列头部取一个元素。队列和栈一样,也是一种操作受限的数据结构。队列可以用数组实现,也可以用链表实现。用数组实现的队列叫顺序队列,用链表实现的队列叫链式队列。在实现队列这中数据结构的时候,需要两个指针,一个head指针,指向队头,一个tail指针,指向队尾。数组实现:添加数据的
仲夏余四
·
2020-06-29 15:34
数据结构与算法
数据结构与算法之美
【总结笔记】 -- 数组
数组是一种线性的数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。数组中存储的数据,地址是连续的,所以支持随机性访问时间复杂度为O(1);由于需要保持地址的连续性,所以在对数组进行插入和删除的时候,需要对目标数据之后的所有数据进行地址移动的操作,此操作的时间复杂度,最好是O(1),最坏是O(n),平均是O(n)。针对此问题可采取的解决办法举例:插入操作:如果此数组只是用来存储一组数据
仲夏余四
·
2020-06-29 15:33
数据结构与算法
数据结构与算法之美
【总结笔记】 -- 链表 - 如何写出正确链表代码
1.深入理解指针或者引用,java中为引用,即理解下面的话将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量的内存地址,指向了这个变量,通过这个指针就能找到这个变量。2.警惕指针丢失和内存泄漏(c,c++)在进行插入和删除的操作的时候,操作的都是指针,而指针又很抽象,代码不规范的话,极容易出现逻辑异常,指针丢失的情况,比如:针对
仲夏余四
·
2020-06-29 15:33
数据结构与算法
数据结构与算法之美
【总结笔记】 -- 链表
链表与数组是想对的一种数据结构链表的特点为:内存不连续,每个节点存有下一节点的地址(双向链表还需要存储前一节点的地址),以头结点的地址作为链表的基地址,尾节点指向空地址。延伸:尾节点指向头结点,形成循环链表。每个节点存储前一结点的地址,形成双向链表。每个节点存储前一结点的地址,尾结点指向头结点,形成循环双向链表。因为每个节点都需要额外的空间存储下一节点的地址,所有链表所占的空间更大,但由于节点间通
仲夏余四
·
2020-06-29 15:33
数据结构与算法
数据结构与算法之美
【总结笔记】 -- 栈
当某个数据集合只涉及一段插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。如何实现一个栈:栈即可以用数组来实现,也可以用链表来实现,实现push和pop方法。入栈和出栈的时间复杂度为O(1),空间复杂度为O(1)对于支持动态扩容的栈,起均摊时间复杂度和空间复杂度也是O(1)栈在函数调用中的应用:函数调用栈:操作系统给每个分配了一块独立的内存空间,这块内存被组织成“
仲夏余四
·
2020-06-29 15:02
数据结构与算法
如何系统学习算法?
来源|极客时间专栏《
数据结构与算法之美
》作者|前Google工程师王争曾经因为看不懂数据结构和算法,而一度怀疑是自己太笨,实际上,很多人在第一次接触这门课时,都会有这种感觉,觉得数据结构和算法很抽象,晦涩难懂
丸纸酱
·
2020-06-29 06:04
数据结构与算法
JavaScript
数据结构与算法之美
- 十大经典排序算法汇总
笔者写的JavaScript
数据结构与算法之美
系列用的语言是JavaScript,旨在入门数据结构与算法和方便以后复习。
Александр-Саша
·
2020-06-29 04:29
《
数据结构与算法之美
》学习笔记(一)
《
数据结构与算法之美
》学习笔记(一)–开篇–本文所记内容来自极客时间–>王争《
数据结构与算法之美
》,并非原创,写此笔记的目的是为了激励自己坚持学习,如有侵权或者冒犯,请及时联系,感谢!
Yaroya
·
2020-06-28 23:21
学习笔记
数据结构与算法之美
-学习笔记
接上篇文章,在我意识到数据结构与算法的重要性时,正好在群里有人分享了极客时间的
数据结构与算法之美
的课程,从入门篇、基础篇、高级篇到实战篇,由浅入深的讲述常用的数据结构与算法,特别是在留言区作者的留言"迈不过去你找我退钱
程序猿-黄某某
·
2020-06-28 21:14
读后感
从零开始体验
数据结构与算法之美
(1)- 基础数学知识
2017给自己列了几项任务,其中之一就是重新学习数据结构,从本文开始的一系列文章,都是自己研读《数据结构与算法分析第二版》的学习心得,其中一定会有偏颇甚至浅陋之处,随时欢迎提出指正,谢谢!基础数学知识主要用到了指数、对数、级数以及证明方法,内容比较枯燥,我自己写的也很痛苦,但这些知识总归是有用的,在学习数据结构与算法时也是必要的,所以自己还是硬着头皮啃完了。这其中好多公式都是高中的知识(理科),曾
我爱吃栗子啊
·
2020-06-28 20:35
程序员必备的数据结构与算法书单
作者|王争出处|极客时间《
数据结构与算法之美
》专栏“算法,先于计算机存在于世,比编程语言本身更为重要。语言只是工具,算法才是灵魂。”这是云风在《游戏之旅:我的编程感悟》这本书里一个非常经典的表述。
weixin_33916256
·
2020-06-28 08:38
《算法图解》笔记
但是有些部分讲的有些过于简单了,如果不是看了极客时间的「
数据结构与算法之美
」课程,可能理解起来还会吃力,尤其合并排序与快速排序的比较,写得那叫一个草率,所以这本书就是个入门书,深入学习还是得另辟蹊径
赫子丰
·
2020-06-28 03:45
数据结构与算法之美
| 递归
如何找到“最终推荐人”?如果存在脏数据,怎么可以检测出A-B-C-A这样的“环”的存在呢?如何理解递归?去的过程叫“递”,回来的过程叫“归”。所有的递归问题都可以用递推公式来表示。一种编码技巧。什么样的问题可以用递归来解决?满足三个条件:一个问题的解可以分解为几个子问题的解子问题就是数据规模更小的问题。这个问题和分解后的子问题,除了数据规模不同,求解思路完全相同存在递归终止条件如何编写递归代码?最
huziyubm
·
2020-06-27 21:42
数据结构与算法之美
算法
数据结构与算法之美
(四)
一,拓扑排序如果a先于b执行,也就是说b依赖于a,那么就在顶点a和顶点b之间,构建一条从a指向b的边。而且,这个图不仅要是有向图,还要是一个有向无环图,也就是不能存在像a->b->c->a这样的循环依赖关系。因为图中一旦出现环,拓扑排序就无法工作了。实际上,拓扑排序本身就是基于有向无环图的一个算法。publicclassGraph{privateintv;//顶点的个数privateLinkedL
coffee-123
·
2020-06-27 09:53
数据结构与算法
复杂度分析(上)
+文本内容是对王争《
数据结构与算法之美
》课程的笔记,如果有任何侵权行为,请联系博主删除为什么需要复杂度分析?
scc123
·
2020-06-27 06:36
二叉树基础
图片引自《
数据结构与算法之美
》王争二叉树(BinaryTree)每个节点最多有两个“叉”,也就是两个子节点,分别是“左子节点”和“右子节点”;二叉树并不要求每个节点都有2个子节点。
慧鑫coming
·
2020-06-26 22:05
数据结构与算法之美
笔记01----复杂度分析上
1.概念数据结构:就是指一组数据的存储结构算法:就是指操作数据的一种方法要学习的常见的10种数据结构:数组、链表、栈、队列、散列表、二叉树、堆跳表、图、trie树要学习的常见的10种算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法等2.复杂度的分析复杂度也叫渐进复杂度,包括时间复杂度和空间复杂度,用来分析算法执行效率和数据规模之间的增长关系,可以粗
spillove
·
2020-06-26 14:41
从零学习数据结构与算法---基础与课前准备笔记
这里开始学习数据结构与算法相关知识,这个主要是基于极客时间大佬覃超老师的算法训练营和王争老师的
数据结构与算法之美
。这里再次感谢两位老师,下面文章内容主要是自己作为复习使用的笔记,如果有笔误请见谅。
坤仔1
·
2020-06-25 11:28
数据结构与算法
【
数据结构与算法之美
】读书笔记02 -- 时间空间复杂度分析
目录1是什么2为什么3如何分析3.1大O复杂度表示法3.1.1举例3.1.2大O公式3.1.3时间复杂度3.1.4复杂度分析法则3.1.5常用的复杂度级别3.1.5.1多项式阶3.1.5.2非多项式阶3.2空间复杂度分析3.2.1举例分析总结我们常说工作中遇不到数据结构和算法,其实是我们主动或无意识过滤掉这样的机会。1是什么数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。因此需从
咸鱼翻面
·
2020-06-25 08:56
数据结构与算法
数据结构与算法之美
——学习笔记
最近在极客时间入手了《
数据结构与算法之美
》,希望能久旱逢甘霖~~~二、为什么要学习数据结构与算法1、想要通关大厂面试,千万别让数据结构和
LemmonTreelss
·
2020-06-25 02:44
决战面试
《程序员面试金典》解题目录(更新完毕)
updatedon2020.4.17不懂的概念可以参考《
数据结构与算法之美
》学习汇总已解决109/109-简单37中等61困难11(更新完毕)觉得不错,一定要点赞支持下哦!❤❤❤已解题目程序员面试金
Michael阿明
·
2020-06-25 00:05
《程序员面试金典》
《剑指Offer》解题目录(更新完毕)
updatedon2020.3.18不懂的概念可以参考《
数据结构与算法之美
》学习汇总已解决75/75-简单42中等29困难4(更新完毕)觉得不错,一定要点赞支持下哦!
Michael阿明
·
2020-06-25 00:05
《剑指Offer》
数据结构之红黑树
此文是
数据结构与算法之美
学习笔记二叉查找树在频繁的动态更新的过程中,可能会出现树的高度很大的情况,从而导致各个操作的效率下降,极端情况下,二叉树会退化为链表,为了解决这种复杂度退化的问题,需要设计一个平衡的二叉查找树
chsmy2018
·
2020-06-24 15:14
数据结构与算法
《
数据结构与算法之美
》13——跳表
上篇文章介绍了二分查找算法。因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。那么数据存储在链表中,就不能用二分查找算法吗?对于一个单链表,即便链表中存储的数据是有序的,如果要查找某个数据,也只能从头到尾遍历链表。这样查找效率很低,时间复杂度是O(n)。如果像图中那样,对链表建立一级“索引”,查找起来是不是就能更快些呢?每两个结点提取一个结点到上一级,把抽出来的那一级叫作索引或索引
大杂草
·
2020-06-24 09:00
《
数据结构与算法之美
》12——二分查找
二分查找是一种非常简单易懂的快速查找算法,生活中随处可见,比如数字炸弹游戏。二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。惊人的查找速度二分查找是一种非常高效的查找算法,时间复杂度是O(logn)。假设数据大小是n,每次查找后数据都会缩小为原来的一半,也就是除以2。最坏情况下,
大杂草
·
2020-06-24 09:00
数据结构与算法之美
(一):概论
最近在极客时间上面学习王争老师的课程《
数据结构与算法之美
》,以前虽然学过一些皮毛,但是不够精,作为程序员的基本内功,还是要继续学习。
*LH2018*
·
2020-06-24 04:13
算法
基础知识
极客时间 算法训练营 第五周总结
学习总结学习内容课程内容DP三部曲:找重复子问题,最优子结构定义状态,存储中间过程推导DP方程(递推公式)结合《
数据结构与算法之美
》专栏什么样的问题可以用动态规划解决?
墨1024
·
2020-06-24 03:04
算法训练营总结
动态规划
极客时间-
数据结构与算法之美
笔记-15二分查找(上):如何用最省内存的方式实现快速查找功能?
极客时间-
数据结构与算法之美
笔记-15二分查找(上):如何用最省内存的方式实现快速查找功能?
Mr._Hou
·
2020-06-23 15:43
数据结构与算法
二分查找
极客时间-
数据结构与算法之美
笔记-3 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗
极客时间-
数据结构与算法之美
笔记-3复杂度分析(上):如何分析、统计算法的执行效率和资源消耗一、大O复杂度表示法二、时间复杂度分析1.只关注循环执行次数最多的一段代码2.加法法则:总复杂度等于量级最大的那段代码的复杂度
Mr._Hou
·
2020-06-23 15:43
数据结构与算法
堆和堆排序:为什么说堆排序没有快速排序快
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------我们今天讲另外一种特殊的树,“堆(Heap)”。堆这种数据结构的应用场景非常多,最经典的莫过于堆排序了。
every__day
·
2020-06-23 06:51
算法与数据结构
JavaScript
数据结构与算法之美
- 十大经典排序算法汇总(图文并茂)
笔者写的JavaScript
数据结构与算法之美
系列用的语言是JavaScript,旨在入门数据结构与算法和方便以后复习。
chentang6196
·
2020-06-22 22:05
数据结构与算法之美
学习笔记(11章) 排序,冒泡,插入,选择,归并,快排
第十一章最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。1.冒泡排序当某次冒泡操作已经没有数据交换时,说明已经达到完全有序,不用再继续执行后续的冒泡操作代码/***@author:xuxu*@date2020/2/279:29*@Description:冒泡排序*/publicclassBubbleSort{publicstaticvoidbubbleSor
踟蹰千年
·
2020-06-22 16:53
#
数据结构(排序
查询)
数据结构与算法之美
学习笔记(15章,17章) 二分查找,跳表
二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。我们假设数据大小是n,每次查找后数据都会缩小为原来的一半,也就是会除以2。最坏情况下,直到查找区间被缩小为空,才停止。可以看出来,这是一个等比数列。其中n/2k=1时,k的值就是总共缩小的次数。而每一次缩小操作只涉及两个数据的大小比
踟蹰千年
·
2020-06-22 16:53
#
数据结构(排序
查询)
数据结构与算法之美
学习笔记(10章) 递归
第10章递归递归很重要,这篇全部是递归的知识和练习一个很好的例子帮助理解周末你带着女朋友去电影院看电影,女朋友问你,咱们现在坐在第几排啊?电影院里面太黑了,看不清,没法数,现在你怎么办?别忘了你是程序员,这个可难不倒你,递归就开始排上用场了。于是你就问前面一排的人他是第几排,你想只要在他的数字上加一,就知道自己在哪一排了。但是,前面的人也看不清啊,所以他也问他前面的人。就这样一排一排往前问,直到问
踟蹰千年
·
2020-06-22 16:21
#
数据结构(排序
查询)
数据结构与算法之美
- 02 | 如何抓住重点,系统高效地学习数据结构与算法?
这系列相关博客,参考
数据结构与算法之美
数据结构与算法之美
-02|如何抓住重点,系统高效地学习数据结构与算法?内容小结课后思考你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?
detachment_w
·
2020-06-22 12:05
数据结构
贪心算法--
数据结构与算法之美
--CH37
文章目录1.引言2.什么贪心算法3.什么情况下可以用贪心算法3.1贪心算法有效3.2贪心算法失效4.贪心算法实战分析4.1分糖果4.2钱币找零4.3区间覆盖4.4霍夫曼编码5.贪心算法的思考1.引言
数据结构与算法之美
的前述总结
csdn_SUSAN
·
2020-06-21 18:05
数据结构和算法
复杂度分析(下)
+文本内容是对王争《
数据结构与算法之美
》课程的笔记,如果有任何侵权行为,请联系博主删除最好、最坏时间复杂度先给个例子://n表示数组array的长度intfind(int[]array,intn,intx
scc123
·
2020-06-21 16:37
Github标星58500+:常见数据结构与算法Python实现
收费的我推荐极客时间的《
数据结构与算法之美
》:内容挺全面,学了应该对算法有帮助。以上两个教程都不是用python实现的,有群友
简说Python
·
2020-06-21 05:49
数据结构和算法概述
所以数据结构和算法的帐也欠下太久了…最近在极客时间上听王争老师的课程《
数据结构与算法之美
》,记录下相关要点。
静~墨
·
2020-06-21 04:05
数据结构与算法之美
《
数据结构与算法之美
》笔记—快速排序
快排相对快排,大家可能更熟悉冒泡排序,冒泡排序是比较相邻的两个元素。但是在数据量大的情况下,耗时却比快排多很多。所以掌握快排也是很有必要的。快排思想:其实只要大家理解了分治思想(顾名思义就是分而治之),那么快排思想也差不多掌握的差不多了。快排的解题思路,就是在待排序的数组中,找到一个参照元素,为什么要选一个参照物呢,就是为了分治,让小于和大于参照元素的其他数据,能按照小于参照元素的数据在左边,大于
波波维奇c
·
2020-06-19 11:57
数据结构与算法之美
| 学习笔记23 —— 递归树
一、递归树基础借助递归树分析递归算法的时间复杂度。把待解决的问题一层层分解画成图,就形成了一颗递归树。将归并排序算法画成递归树,是一颗满二叉树:二、递归树应用1.分析快速排序的时间复杂度例如,对于快速排序,假设平均情况下,每次分区的大小比例为1:k,当k=9时,如果用递推公式,则为T(n)=T(n10)+T(9n10)+nT(n)=T(\frac{n}{10})+T(\frac{9n}{10})+
一大桃
·
2020-05-28 17:09
数据结构
算法
数据结构
快速排序
数据结构与算法之美
| 单链表、双链表的增删改查(C++)
本系列内容专为课程面向笔/面试的《数据结构与算法》总结性精讲开设,以图文并茂的方式讲解数据结构,让大家打牢基础,促进对课程内容的掌握,最后做到题解大神,大厂offer拿到手软!单链表、双链表的增删改查0.数据结构图文解析系列1.线性表简介2.单链表2.1单向链表的节点结构2.2单向链表的抽象数据结构2.3单链表添加节点2.4单链表删除节点2.5单链表代码测试3.双向链表3.1双向链表节点结构3.2
Charmve
·
2020-05-02 18:52
数据结构与算法之美
Charmve
Coding
数据结构与算法之美
| 二分查找:剑指offer53 在排序数组中查找数字
二分查找:剑指offer53:在排序数组中查找数字如何利用“数组是排序的”这一特点设计更快的算法是这一题最好的解决办法?本节我们讨论的本题都是基于这一特点展开的。通常,我们需要在一个长度为n的数组中查找一个数,需要O(n)O(n)O(n)次,所以顺序扫描/查找的时间复杂度为O(n)O(n)O(n)。显然这不是最好的方法。接下来,我们思考如何更好地利用二分查找算法O(logn)O(logn)O(lo
Charmve
·
2020-04-14 17:21
数据结构与算法之美
Charmve
Coding
从2-3树理解红黑树
直到前几天在极客时间的《
数据结构与算法之美
》专栏中的《26|红黑树(下):掌握这些技巧,你也可以实现一个红黑树》,再次看到讲解红黑树插入删除如何保持平衡,很可惜,还是没看明白。
我落泪_情绪零碎
·
2020-04-06 23:31
Python-排序-冒泡排序-优化
这是我通过极客专栏《
数据结构与算法之美
》学习后的思考,分享一下,希望对你有所帮助。上一篇文章工作后,为什么还要学习数据结构与算法的思维导图展现了这个专栏的内容。
somenzz
·
2020-04-06 07:13
极客时间一些课程优惠购买链接
[
数据结构与算法之美
]![趣谈网络协议]![Nginx核心知识100讲]![MySQL实战45讲]![Linux性能优化实战]![赵成的运维提现管理课]![Android开发高手课]!
剑有偏锋
·
2020-04-03 15:39
数据结构与算法之美
笔记——排序(下)
摘要:本章节主要讲解「归并排序」(MergeSort)和「快速排序」(QuickSort),这两种排序主要应用了分治的思想,时间复杂度都为,但是在实际生产中快速排序使用更加广泛。归并排序原理归并排序将一组数据进行一分为二的分解操作,直到子数组中只有一个元素为止,此时将分解的子数组进行合并,在合并的过程中进行排序,合并后的数组就是一个有序的数组,按照这种操作方式循环合并拆分的数组,最后合并完成的数组
Cloneable
·
2020-04-02 00:14
JavaScript
数据结构与算法之美
- 线性表(数组、栈、队列、链表)
JavaScript
数据结构与算法之美
前言基础知识就像是一座大楼的地基,它决定了我们的技术高度。我们应该多掌握一些可移值的技术或者再过十几年应该都不会过时的技术,数据结构与算法就是其中之一。
是夜尽天明呀
·
2020-03-31 23:31
2. 数组
(图片修改自极客专栏:《
数据结构与算法之美
》)这就是数组的一块内存区域。我们提下上面说的两个特点:连续内存区域相同的数据类型这两个特点有什么好处呢?
土堆碎念
·
2020-03-26 00:00
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他