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
本笔记记录王争专栏
数据结构与算法之美
的学习记录,以便自己复习回顾,代码部分均已经过验证,可直接使用文章目录day01入门1.概念为什么大部分书把这两个概念放在一起讲呢?
慢慢慢时光
·
2019-06-07 06:03
算法
索引:如何在海量数据中快速查找某个数据?
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------前面讲过MySQL数据库索引实现原理,底层是依赖B+树这种数据结构来实现的。
every__day
·
2019-06-05 17:10
算法与数据结构
十分钟弄懂:
数据结构与算法之美
- 时间和空间复杂度
复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半了。1.什么是复杂度分析?数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。2.为什么要进行复杂度分析?和
夜尽天明
·
2019-06-02 00:00
javascript
算法-数据结构
时间复杂度
空间复杂度
数据结构与算法之美
笔记梳理一 ——复杂度分析
文章目录一、什么是数据结构?什么是算法?二、复杂度分析三、涵盖内容四、学习方法五、时间、空间复杂度分析六、最好、最坏、平均、均摊时间复杂度一、什么是数据结构?什么是算法?从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法从狭义上讲,指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等数据结构是为算法服务的,算法要作用在特定的数据结构之上二、复杂度分析掌握一个数据
倩mys
·
2019-05-14 21:25
数据结构
数据结构与算法学习-开篇
这次在极客时间上订阅了两门数据结构和算法方面的专栏,一是Google工程师王争老师主讲的《
数据结构与算法之美
》专栏,另一篇是前Facebook工程师覃超老师主讲的视频专栏《算法面试通关40讲》,计划将这两个专栏配合着学习
青争哥哥_
·
2019-05-05 16:25
数据结构与算法学习导言
0.为什么要学习数据结构与算法学习整理自极客时间《
数据结构与算法之美
》专栏为什么要学习数据结构与算法?通过大厂面试;业务开发工程师,真的愿意做一辈子CRUDboy?
Shao Kaiyang
·
2019-05-02 17:47
数据结构与算法
动态规划从理论到实践-深入理解贪心/分治/回溯/动态规划的算法思想
本文主要参考资料是王争的《
数据结构与算法之美
》,数据结构和算法作为程序员的基
jet_qi
·
2019-04-27 22:06
浅析数据结构和算法
【重学计算机】数据结构与算法
PS:根据极客时间《
数据结构与算法之美
--王争》学习总结,极客时间版权所有:https://time.geekbang.org一、复杂度分析时间复杂度:表示方式:大O表示法,表示代码执行时间随数据增长的趋势
闪客sun
·
2019-04-24 18:00
《
数据结构与算法之美
》学习汇总
此篇文章是对自己学习这门课程的一个总结和课后的一些练习,做一个汇总,希望对大家有帮助。本人是半路程序员,2018年2月开始学习C++的,下面的代码基本都是C++11版本的,代码有错误的地方请不吝留言赐教。附有部分练习LeetCode、POJ的题目。updatedon2019.9.31.链表LinkedList1.1单链表1.2练习判断字符串是否为回文串约瑟夫环问题LRU缓存策略单链表的归并排序单链
Michael阿明
·
2019-04-22 21:00
算法
数据结构
《数据结构与算法之美》学习笔记
极客时间-
数据结构与算法之美
笔记-1为什么要学习数据结构和算法
极客时间-
数据结构与算法之美
笔记-1为什么要学习数据结构和算法误区:数据结构与算法在实际工作中用不到,所以不用学对于大部分业务开发来说,我们平时可能更多的是利用已经封装好的现成的接口、类库来堆砌、翻译业务逻辑
Mr.Hou0807
·
2019-04-20 14:53
数据结构与算法
《
数据结构与算法之美
》为什么要学习数据结构和算法 (读后感)
一、数据结构和算法是什么数据结构是指一组数据的存储结构算法就是操作数据的方法数据结构和算法是相辅相成的,数据结构是为算法服务的,而算法要作用在特定的数据结构之上二、学习的重点在什么地方数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。在学习数据结构和算法的过程中,要学习它的「来历」、「自身的特点」、「适合解决的问题」以及
科诺设计
·
2019-04-20 00:00
数据结构和算法
《
数据结构与算法之美
》复杂度分析(上):如何分析、统计算法的执行效率和资源消耗 (读后感)
什么是复杂度分析?数据结构和算法解决的是如何让计算机更快、更省空间的执行。因此需要从两个方面评估数据结构和算法的优越性。分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。复杂度描述的是算法的执行时间或者占用空间的大小与数据规模增长关系。为什么需要复杂度分析?和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高、易操作、指导性强。掌握复杂度分析,将能编写出性能更优的代码,有
科诺设计
·
2019-04-20 00:00
数据结构和算法
《
数据结构与算法之美
》如何抓住重点,系统高效地学习数据结构与算法 (读后感)
什么是数据结构?储存一组数据的方法,数据结构是为算法服务的,算法要作用在特定的数据结构之上.数据结构和算法相辅相成.什么是算法?广义上讲就是"操作一组数据的方法",列如图书馆有很多书,我们怎么才能更快的查询到书籍呢?可以先根据书籍类别的编号,是人文,还是科学、计算机,来定位书架,然后再依次查找。笼统地说,这些查找方法都是算法。初学数据结构和算法知识点思维导图20个常用数据结构和算法10个常用数据结
科诺设计
·
2019-04-20 00:00
数据结构和算法
数据结构与算法之美
笔记——数组
摘要:「数组」是最简单基本的数据结构,属于一种「线性表数据结构」,它有着可以快速随机访问元素的优势,但也有低效的删除和插入操作,容器对数组的封装会简化对数组的操作,也会对带来一些劣势。特性原理数组是其实是一组连续的内存空间,用来存储一组相同类型的数据,它是一种线性表数据结构。那什么是线性表,线性表就是数据排成一条线一样的结构,每个数据最多只有前后两个方向,像链表、栈、队列等都是线性表数据结构。数组
CloneableX
·
2019-03-31 19:24
算法
数据结构数组
向量空间:如何实现一个简单的音乐推荐系统
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------很多人喜爱听歌,现在直接通过音乐App在线就可以听歌。
every__day
·
2019-03-22 11:12
算法与数据结构
数据结构与算法之美
——哈希算法
一、前言如何防止数据库中的用户信息被脱库?如何存储用户密码这么重要的数据呢?仅仅MD5加密一下存储就够了吗?要想搞清楚这个问题,就要先弄明白哈希算法。哈希算法历史悠久,业界著名的哈希算法也有很多,比如MD5、SHA等。那么在实际的开发中,我们该如何用哈希算法解决问题。二、什么是哈希算法将任意长度的二进制值映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串
LemmonTreelss
·
2019-03-19 22:41
数据结构与算法之美
——散列表——实战篇(上)
一、前言通过理论篇,我们知道,散列表的查询效率跟散列函数、装载因子、散列冲突等都有关系。如果散列函数设计得不好,或者装载因此过高,都可能导致散列冲突发生的概率升高,查询效率下降。在极端情况下,有些恶意的攻击者,还有可能通过精心构造的数据,使得所有的数据经过散列函数之后,都散列到同一个槽里。如果我们使用的是基于链表的冲突解决方法,那这个时候,散列表就会退化为链表,查询的时间复杂度从O(1)退化为O(
LemmonTreelss
·
2019-03-19 22:51
决战面试
数据结构与算法
数据结构与算法之美
——散列表——实战篇(下)
一、前言在之前的学习中,有两种数据结构,散列表和链表,经常会被放在一起使用。在链表那一节,提及了用链表来实现LUR缓存淘汰算法,但是链表实现LRU缓存淘汰算法的时间复杂度为O(n),通过散列表可以将时间复杂度降低到O(1)。在跳表那一节,提到Redis的有序集合是使用跳表来实现的,跳表可以看作一种改进版的链表。Redis有序集合不仅使用了跳表,还用到了散列表。作为Java开发者,LinkedHas
LemmonTreelss
·
2019-03-19 09:12
决战面试
数据结构与算法
数据结构与算法之美
--01时间复杂度分析
复杂度分析上听了极客时间的
数据结构与算法之美
课程后,受益匪浅,把一些我认为比较重要的知识点总结下来,虽然大部分是复制粘贴的。。。。。
ayangann915
·
2019-03-18 20:12
数据结构与算法之美
数据结构与算法-排序算法总结
说明本文参考极客时间—王争·
数据结构与算法之美
。个人觉得王争讲得很好,图也很形象。这里很多字都没有打进来,我觉得配合图片和代码,应该可以了解这个思想了。如果有需要,大家可以去听一听。
CodeYuan
·
2019-03-15 16:14
动态规划实战:如何实现搜索引擎中的拼写纠错功能?
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------在Trie树那节,我们讲过,利用Trie树,可以实现搜索引擎的关键词提示功能,这样可以节省用户输入搜索关键词的时间。
every__day
·
2019-03-14 15:17
算法与数据结构
趣挨踢 | 跳槽季,让我们一起攻克算法吧!
小灰在此大家推荐极客时间的专栏课程:《
数据结构与算法之美
》。这个专栏是极客时间迄今为止最受欢迎的一
csdn业界要闻
·
2019-03-10 10:01
趣挨踢 | 跳槽季,让我们一起攻克算法吧!
小灰在此大家推荐极客时间的专栏课程:《
数据结构与算法之美
》。这个专栏是极客时间迄今为止最受欢迎的一
CSDN云计算
·
2019-03-10 10:01
裸辞期间 Java书单总结
极客时间专栏《Java36讲》《mysql实战》《
数据结构与算法之美
》《如
MoonXiao
·
2019-03-09 00:00
动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------上一节,我通过两个非常的问题,向你展示了用动态规划问题的过程。今天主要讲一些理论知识。
every__day
·
2019-03-05 19:31
数据结构与算法之美
——散列表——理论篇
一、散列思想散列表的英文叫HashTable,也叫哈希表或者Hash表。散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。散列表时间复杂度是O(1)的特性。我们通过散列函数把元素的键值映射为下标,然后将数据存储在数组中对应下标的位置。当我们按照键值查询元素时,我们用同样的散列函数,将键值转化为数组下标,从对应的数组
LemmonTreelss
·
2019-03-05 14:49
决战面试
数据结构与算法
初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------淘宝的“双十一”购物有各种促销活动,比如“满200减50”。
every__day
·
2019-03-04 17:22
贪心算法和分治算法
本文是
数据结构与算法之美
的学习笔记贪心算法的概念贪心算法是指在解决问题的时候,总是选择当前最好的,并希望通过一系列的最优选择,能够产生一个问题的全局最优解。
chsmy2018
·
2019-03-04 10:19
数据结构与算法
数据结构与算法之美
——递归——学习笔记
一、前言先说一下递归的几个常见应用:一是裴波那契数列,二是注册返佣金,找最终推荐人,三是青蛙跳台阶。二、如何理解“递归”作者从它学习数据结构与算法的经历来看,作者认为有两个最难理解的知识点,一个是动态规划另一个就是递归。递归是一种应用非常广泛的算法(或者编程技巧)。之后我们要将的很多数据结构和算法的编程实现都要用到递归。比如DFS深度优先搜索、前中后二叉树遍历等等。所以,搞懂递归非常重要。否则后面
LemmonTreelss
·
2019-03-02 21:47
决战面试
数据结构与算法
回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------我们在深度和广度优先算法提到,深度优先搜索算法利用的是回溯算法思想。这个算法思想非常简单,但是应用却非常广泛。
every__day
·
2019-03-01 16:08
字符串匹配算法(单模式串)
本文是
数据结构与算法之美
的学习笔记字符串的匹配我们在平时工作中经常用到,每个语言中都有其对应的字符串的匹配方法,比如Java中的indexOf(),Python中的find()等他们底层都依赖了各种字符串的匹配算法
chsmy2018
·
2019-02-17 22:22
数据结构与算法
数据结构之图
本文是
数据结构与算法之美
的学习笔记图的概念图跟树一样也是一种非线性的数据结构,比树更加复杂一点。
chsmy2018
·
2019-02-14 20:59
数据结构与算法
数据结构之堆
此文是
数据结构与算法之美
的学习笔记堆的概念堆是一种特殊的数,应用场景很多,最经典的就是堆排序,堆排序是一种原地排序,时间复杂度是O(nlogn)堆的特点堆是一个完全二叉树(除了最后一层,其他层的节点的个数都是满的
chsmy2018
·
2019-01-30 15:20
数据结构与算法
数据结构之散列表
此文是
数据结构与算法之美
学习笔记散列表英文名叫“HashTable”,也叫哈希表或者Hash表。它利用数组支持按照下标随机访问的特性,所以散列表其实是数组的一种扩展,由数组演化而来。
chsmy2018
·
2019-01-22 13:09
数据结构与算法
递归树: 如何借助树来求解递归算法的时间复杂度
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------今天,来讲树这种数据结构的一种特殊的应用,递归树。
every__day
·
2019-01-21 11:15
数据结构与算法之美
(已面试部分)
1.题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。//链表结点定义如下:structListNode{intm_nKey;ListNode*m_pNext;};算法实现:ListNode*reverseList(ListNode*pHead){//防止链表断开,要保存当前节点,上一个节点,下一个节点//保存顺序:先保存上一个节点,再让当前节点指向上一个节点完成反转,
zhouluyao
·
2019-01-17 17:08
数据结构之排序
本篇是
数据结构与算法之美
学习笔记排序在在平时的开发中会经常用到,排序的算法也有很多,冒泡排序、插入排序、选择排序、归并排序,开旭排序、计数排序、基数排序、桶排序等。
chsmy2018
·
2019-01-16 15:28
数据结构与算法
数据结构之跳表
本篇是
数据结构与算法之美
学习笔记上一篇据结构之二分查找中我们知道二分查找底层依赖的是数组随机访问的特性,所以只能使用数组实现,不能再链表中实现。那链表可不可以支持类似的二分查找呢?
chsmy2018
·
2019-01-16 11:41
数据结构与算法
数据结构之数组
本篇是
数据结构与算法之美
学习笔记每一种编程语言中基本都有数组。数组的定义:数组(array)是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。
chsmy2018
·
2019-01-04 09:14
数据结构与算法
数据结构与算法之美
2--复杂度分析(上)
数据结构与算法1什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。2为什么要进行复杂度分析?把代码跑一遍,通过统计、监控,就能的到算法执行的时间和占用的内存
凯玲之恋
·
2019-01-01 09:02
跳表:为什么Reids一定要用跳表来实现有序集合
本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程上两节讲了二分查找算法,它的底层是依赖数组来实现的。如果数据存储在链表中,就真的没法用二分查找了吗?
every__day
·
2018-12-28 17:50
《
数据结构与算法之美
》专栏阅读笔记8——堆
传说中的另一棵树堆一种特殊的树。基本概念堆需要满足的两个要求:堆是一个完全二叉树堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。大顶堆:节点的值大于等于子树中节点的值小顶堆:节点的值小于等于字数中节点的值大顶堆小顶堆堆的实现因为堆是完全二叉树,用数组来存储比较方便。节点下标为i,则左子节点下标为2*i,右子节点下标为2*i+1,父节点下标为i/2。插入堆中插入新数据后,需要满足
一个假的程序媛
·
2018-12-13 15:48
05_极客时间阅读笔记
《
数据结构与算法之美
》专栏阅读笔记7——图
有点想知道当年我到底看的什么书,对于树、图有这么深的偏见,直到避而不见。其实下午忙完后,晒着久违的太阳,捧一杯茶,看着时钟滴答,打算差不多瞅一瞅晚上要看的图(就下班了),就回家缓一下先的,结果前后可能不到二十分钟吧,深度优先遍历和广度优先遍历就无压写出来了……不对啊!这不是跟树的按层遍历一毛一样么~作者讲的真好,快来圈我的钱吧(嗨皮图非线性表数据结构,图中的元素称作顶点,顶点之间的连接关系叫做边。
一个假的程序媛
·
2018-12-13 15:21
05_极客时间阅读笔记
算法笔记-递归
如何用三行代码找到最终推荐人本文创作灵感来源于极客时间王争老师的《
数据结构与算法之美
》课程,通过课后反思以及借鉴各位学友的发言总结,现整理出自己的知识架构,以便日后温故知新,查漏补缺。
黑子.
·
2018-12-11 21:29
算法入门
递归
算法
数据结构
递推公式
递归调用
《
数据结构与算法之美
》专栏阅读笔记6——树
因为从看到写笔记,中间隔了好久,木有激情啊啊啊,但是立flag了丫,你看flag对我这样的人多有用。二叉树树啥的,差不多是不管看什么书都很不想看的一个章节了。树的基本概念节点:树结构中的每个元素都称作节点。节点的高度:节点到叶子节点的最长路径节点的深度:根节点到该节点所经历的边的个数节点的层数:节点深度+1树的高度:根节点的高度二叉树的基本概念二叉树:最多两个子结点。左子节点、右子节点满二叉树:除
一个假的程序媛
·
2018-12-10 17:51
05_极客时间阅读笔记
数据结构与算法之美
由于最近跟着极客时间的王争老师学习数据结构和算法之美,感触颇深;为了更好巩固知识,才有了这些笔记.目录一.初始数据结构和算法二.复杂度分析(上):如何分析、统计算法的执行效率和资源消耗
麦洛_
·
2018-12-04 21:42
数据结构和算法
推荐学习-
数据结构与算法之美
推荐一个学习资源:
数据结构与算法之美
。主要包括以下几个学习内容:20个经典数据结构与算法100个真实项目场景案例文科生都能看懂的算法手绘图解轻松搞定BAT的面试通关秘籍作者:王争前谷歌工程师内容很强。
杨柳_
·
2018-11-21 15:53
总结
算法笔记(八):复杂度分析(二)
#感兴趣的可以去订阅极客时间前谷歌工程师的专栏:
数据结构与算法之美
,个人觉得写的很不错。
free赖权华
·
2018-11-18 01:00
《
数据结构与算法之美
》专栏阅读笔记5——散列表和哈希函数
这应该是看完最呆(没有想到的那种呆~)的一个小章节了,给作者鼓掌,讲的好好。果然抽象能力才是王道文章目录1、散列表1.1、小概念1.2、散列函数1.3、散列冲突1.4、装载因子2、实际应用中的散列表注意事项2.1、散列函数的设计原则2.2、装载因子过大2.3、如何避免低效地扩容2.4、解决冲突的方案选择2.5、设计一个工业级的散列函数3、哈希算法应用1、散列表核心:散列表用的是数组支持按照下标随机
一个假的程序媛
·
2018-11-15 11:47
05_极客时间阅读笔记
《
数据结构与算法之美
》专栏阅读笔记4——二分查找
找呀找呀找朋友文章目录1、二分查找2、变形的二分查找2.1、查找第一个、最后一个值等于给定值的元素2.2、查找第一个大于等于、最后一个小于等于给定值的元素2.3、思考题1、二分查找二分查找也叫折半查找,是一种针对有序数据集合的查找算法。原理:押大押小呀?复杂度分析2^k=N,O(logn)适用场景有序数据依赖于顺序表结构,用数组性能最高,因为数组查找的时间复杂度为O(1),用链表复杂度为O(n)=
一个假的程序媛
·
2018-11-14 14:07
05_极客时间阅读笔记
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他