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
《数据结构与算法之美》
数据结构与算法-复杂度分析(上)
不过,就在前几天,在公号上看见stromzhang、Fenng都推荐极客时间的一个专栏-《
数据结构与算法之美
》,并且说数据结构多重要,这个专栏多好。
这里有颗小螺帽
·
2020-07-15 20:38
《
数据结构与算法之美
》06~10笔记
文章目录关于我的仓库前言06讲链表(上):如何实现LRU缓存淘汰算法实现LRU缓存淘汰算法课后题:如何判断一个字符串是否是回文字符串的问题,我想你应该听过,我们今天的思题目就是基于这个问题的改造版本。如果字符串是通过单链表来存储的,那该如何来判断是一个回文串呢?你有什么好的解决思路呢?相应的时间空间复杂度又是多少呢?【LeetCode234回文链表】07讲链表(下):如何轻松写出正确的链表代码链表
太阳骑士索拉尔
·
2020-07-15 17:45
算法&&数据结构
《
数据结构与算法之美
》- 栈
栈,在这里说的是一种数据结构。你还可能知道的栈提到“栈”,做Java的同学还会想起Java内存模型中的“栈”,与之紧密关联的还有一个名词——堆,但是这里,此栈非彼栈。引用《深入理解Java虚拟机》中有关栈的介绍经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种分法比较粗糙,Java内存区域的划分实际上远比这复杂。这种划分方式的流行只能说明大多数程序员最关注的、与对象内存分配
baixieyun4655
·
2020-07-15 14:04
闲谈设计模式
在极客时间里推出了数据结构和设计模式的王争说了一句话,如果说“
数据结构与算法之美
”是教你写出高效的代码,那设计模式就是教你写出高质量的代码。为什么要学习设计模式提升自己代码
dotNET跨平台
·
2020-07-14 22:58
数据结构与算法之美
当我们要去做一件事的时候,必须要问自己三个问题:是什么什么是数据结构与算法?数据结构:就是一组数组的存储结构算法:就是操作数据的一组方法数据结构是为算法服务的,算法要作用于特定的数据结构之上。为什么需要数据结构与算法来谈谈应用层面的原因。在计算机科学和互联网迅猛发展之下,需要计算的数据量越来越大,但是计算机的计算能力是有限的,这么大量的数据计算,需要越来越多的计算机,需要越来越长的计算时间。注重效
福尔摩东
·
2020-07-14 21:12
数据结构
数据结构与算法之美
——队列——学习笔记
一、前言众所周知,CPU资源是有限的,任务的处理速度与线程个数并不是正相关的。相反,过多的线程反而会导致CPU频繁切换,处理性能下降。所以,线程池的大小一般都是综合考虑要处理任务的特点和硬件环境,来实现设置的。当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,这个时候线程池如何处理这个请求?是拒绝请求还是排队请求?各种处理策略又是怎么实现的呢?实际上,这些问题并不复杂,其底层的
LemmonTreelss
·
2020-07-14 17:33
数据结构与算法之美
——跳表
一、概述二分查找算法:底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。改造之后的数据结构叫做跳表(Skiplist)。它是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树(Red-blacktree)。Redis
LemmonTreelss
·
2020-07-14 17:33
数据结构与算法
决战面试
数据结构与算法之美
笔记: 字符串匹配 「BF 算法、RK 算法、BM 算法、KMP 算法」
RK算法是BF算法的改进,它巧妙借助了我们前面讲过的哈希算法,让匹配的效率有了很大的提升。BF算法BF算法中的BF是BruteForce的缩写,中文叫作暴力匹配算法,也叫朴素匹配算法。从名字可以看出,这种算法的字符串匹配方式很“暴力”,当然也就会比较简单、好懂,但相应的性能也不高。先定义两个概念:主串和模式串例:我们在字符串A中查找字符串B,那字符串A就是主串,字符串B就是模式串。我们把主串的长度
张伯毅
·
2020-07-12 19:34
数据结构与算法之美
算法导论 高频算法题
数据结构与算法之美
说明业务开发工程师,你真的愿意做一辈子CRUDBoy吗?基础架构研发工程师,写出达到开源水平的框架才是你的目标!对编程还有追求?不想被行业淘汰?那就不要只会写凑合能用的代码!之前花了1年时间学完《算法导论》,实际上里面有很多数学公式,微积分,概率,矩阵,和归纳法,学起来确实投入很多时间。知名论坛一亩三分地,推荐《CrackingtheCodingInterview》,里面讲算法和面试技巧.Leet
程序员易筋
·
2020-07-12 19:36
水滴石穿
算法
【数据结构】一张图让你读懂:树的高度、深度、层的区别
接触树这个概念,不知道你是否被它繁杂的概念所困扰,在王争老师的
数据结构与算法之美
的课程中,讲到了树的高度、深度、层的区别的区别,简单易懂,一看就会,在此分享给大家。
岚清子
·
2020-07-12 13:36
数据结构
字符串匹配算法
以下为学习《
数据结构与算法之美
--字符串匹配》的记录。BF算法即暴力匹配算法,循环遍历匹配。RK算法即根据哈希值进行匹配。
我落泪_情绪零碎
·
2020-07-12 10:47
Python 排序-插入排序-优化
以下是本人学习极客时间的专栏《
数据结构与算法之美
》后,自己动手敲代码实现,并写下当时的思考,希望对你也有帮助。
清如許
·
2020-07-11 23:21
技术
python
数据结构与算法之美
- 11 | 排序(上):为什么插入排序比冒泡排序更受欢迎?
这系列相关博客,参考
数据结构与算法之美
数据结构与算法之美
-11|排序(上):为什么插入排序比冒泡排序更受欢迎?如何分析一个"排序算法"?
detachment_w
·
2020-07-11 01:29
数据结构
数据结构与算法之美
| 学习笔记19 —— 二叉树基础
一、树首先明确概念:A是B的父节点,B是A的子节点,B、C、D相互为兄弟节点,没有父节点的E叫根节点,没有子节点的G、H、I、J、K、L叫叶子节点。这里有一些个举例:二、二叉树(BinaryTree)二叉树,每个结点最多有两个子节点,分别为左子节点和右子节点。上图中编号2除叶子结点外,每个都有2个子节点,为满二叉树,编号3除了最后一层,结点个数都达到最大,最后一层叶子结点靠左排列,为完全二叉树。1
一大桃
·
2020-07-11 01:31
数据结构
闲谈设计模式
在极客时间里推出了数据结构和设计模式的王争说了一句话,如果说“
数据结构与算法之美
”是教你写出高效的代码,那设计模式就是教你写出高质量的代码。为什么要学习设计模
品途旅游
·
2020-07-11 00:14
编程语言
.Net
闲谈设计模式
在极客时间里推出了数据结构和设计模式的王争说了一句话,如果说“
数据结构与算法之美
”是教你写出高效的代码,那设计模式就是教你写出高质量的代码。为什么要学习设计模式提升自己代码
Love it or leave it
·
2020-07-10 23:00
排序算法-归并,快速,堆排序
):将数组分成两部分,每部分分别排序,形成有序的两部分,然后遍历比较每部分的头部元素,形成新的数组其中,每部分分别排序,递归使用步骤1,递归终止情况为:需要排序的部分只有一个元素图片来源:极客时间,《
数据结构与算法之美
Michael曾
·
2020-07-10 15:39
算法数据结构
数据结构与算法之美
---02 如何抓住重点,系统高效地学习?
什么是数据结构?什么是算法?从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。个人理解:(不知道正确与否)数据结构是两部分,一个是数据,一个是结构,比如文档讲的图书馆藏书编号,数据是书籍,编号的规律就是结构,合起来就是数据结构。?数据结构和算法什么关系?1、数据结构和算法是相辅相成的。2、数据
狼牙雪豹
·
2020-07-09 17:11
《
数据结构与算法之美
》21——二叉树(三)红黑树
前言二叉查找树是最常用的一种二叉树,它支持快速查找、插入、删除操作。性能与树的高度成正比,理想情况下,时间复杂为是O(logn)。不过频繁的更新,二叉树的高度会远大于log2n,极端情况会退化成链表,时间复杂度变为O(n)。因此需要设计一种平衡二叉查找树的结构,今天讲的红黑树就是平衡二叉查找树的其中一种。什么是平衡二叉查找树平衡二叉树,严格定义,二叉树中任意一个节点的左右子树的高度相差不能大于1。
大杂草
·
2020-07-09 08:00
极客时间:
数据结构与算法之美
21+22 | 哈希算法
https://time.geekbang.org/column/article/67388hash=哈希>散列哈希算法将任意长度的二进制值串映射为固定长度的二进制值串特点:从哈希值不能反向推导出原始数据;对输入数据非常敏感,哪怕原始数据只修改了一个Bit,最后得到到Hash值也不同;冲突的概率要小执行效率高,对长文本也能快速计算出哈希值应用安全加密MD5,SHA唯一标识e.g.海量图库中搜索一张
HW_WY
·
2020-07-09 05:16
算法
数据结构
数据结构与算法之美
课程简介:为什么要学习数据结构与算法?数据结构与算法该怎么学?学习的重点又是什么?这一模块将为你指明数据结构与算法的学习路径;并着重介绍贯穿整个专栏学习的重要概念:时间复杂度和空间复杂度,为后面的学习打好基础。课程目录:01|为什么要学习数据结构和算法?02|如何抓住重点,系统高效地学习数据结构与算法?03|复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?04|复杂度分析(下):浅析最好
ymsn12693360
·
2020-07-09 03:05
冒泡排序、插入排序、选择排序
这篇博客是对极客时间上王争课程——
数据结构与算法之美
的个人学习总结。文章中的图出自课程中。我会对课程中的Java代码用Python来实现,所有的代码会放在我的GitHub上。
strongnine
·
2020-07-08 19:34
数据结构与算法之美
day 6: 如何实现LRU缓存淘汰算法?
文章目录单链表的相关操作c语言实现单链表的相关操作c语言实现其中有两个重要的算法需要注意判断链表是否有环翻转链表#includestructsingle_list{structsingle_list*next;intval;};structsingle_list_head{structsingle_list*head;};boolis_empty(structsingle_list_head*he
sty945
·
2020-07-08 06:01
算法与数据结构
极客时间-
数据结构与算法之美
笔记-12排序(下):如何用快排思想在O(n)内查找第K大元素?
极客时间-
数据结构与算法之美
笔记-12排序(下):如何用快排思想在O(n)内查找第K大元素?
Mr._Hou
·
2020-07-07 09:20
数据结构与算法
排序算法
极客时间-
数据结构与算法之美
笔记-10 递归:如何用三行代码找到“最终推荐人”?
极客时间-
数据结构与算法之美
笔记-10递归:如何用三行代码找到“最终推荐人”?如何理解“递归”?递归需要满足的三个条件如何编写递归代码?
Mr._Hou
·
2020-07-07 09:19
数据结构与算法
数据结构与算法之美
| 学习笔记17 —— 哈希算法(散列函数)应用
一、哈希算法哈希算法需要满足的几点要求:从哈希值不能反向推导出原始数据(所以也叫单向哈希算法);(重要)即使原始数据发生很小改变,得到的哈希值大不相同;散列冲突的概率小;(重要)算法执行效率高效,对较长的文本,也能快速计算出哈希值;例如,MD5算法的哈希值是128位的Bit长度,对任何长度的文本都会得到相同的哈希值:MD5("今天我来讲哈希算法")=bb4767201ad42c74e650c1b6
一大桃
·
2020-07-07 02:24
数据结构
极客时间 -
数据结构与算法之美
学习笔记0
摘自:极客时间-
数据结构与算法之美
踏上了编程之路,也就意味着你选择了一种终身学习的生活方式。每一个程序员都要练就十八般武艺,而掌握数据结构与算法就像修炼了九阳神功。
生命不息_热爱不止
·
2020-07-06 18:40
数据结构与算法之美
极客时间-
数据结构与算法之美
笔记-14排序优化:如何实现一个通用的、高性能的排序函数?
极客时间-
数据结构与算法之美
笔记-14排序优化:如何实现一个通用的、高性能的排序函数?一、如何选择合适的排序算法?二、如何优化快速排序?
Mr._Hou
·
2020-07-06 16:38
数据结构与算法
排序算法
数据结构 | 线性排序
数据结构与算法之美
学习总结,这一课讲了三个线性排序,这三种排序时间复杂度都是O(n)O(n)O(n)。
strongnine
·
2020-07-06 02:20
贪心算法: 如何用贪心算法实现Huffman压缩编码
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------今天来学习贪心算法(greedyalgorithm)。
every__day
·
2020-07-04 15:03
算法与数据结构
《
数据结构与算法之美
》11~15笔记
文章目录关于我的仓库前言11讲排序(上):为什么插入排序比冒泡排序更受欢迎如何比较排序算法冒泡排序(BubbleSort)原理代码特点分析插入排序(InsertionSort)原理代码特点分析选择排序(SelectionSort)原理代码特点分析希尔排序(ShellSort)原理代码特点分析总结课后题:我们今天讲的几种排序算法,都是基于数组实现的。如果数据存储在链表中,这三种排序算法还能工作吗?如
太阳骑士索拉尔
·
2020-07-04 06:10
算法&&数据结构
极客时间
数据结构与算法之美
王峥05课C语言数组array算法解析源码解读
极客时间
数据结构与算法之美
王峥05课C语言数组array算法解析源码解读https://github.com/wangzheng0822/algo/blob/master/c-cpp/05_array/
小秋SLAM笔记
·
2020-07-02 16:21
数据结构
算法
学习笔记 — 《极客时间》
数据结构与算法之美
丨数组
如何实现随机访问?数组:是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。关键词:线性表:顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数
_鹏飞
·
2020-07-02 14:40
JavaScript
数据结构与算法之美
- 线性表 数组、栈、队列、链表
笔者写的JavaScript
数据结构与算法之美
系列用的语言是JavaScript,旨在入门数据结构与算法和方便以后复习。1.线性表
关注我学java
·
2020-07-02 11:08
程序员
Java
极客时间-
数据结构与算法之美
笔记-2 如何抓住重点,系统高效地学习数据结构与算法?
极客时间-
数据结构与算法之美
笔记-2如何抓住重点,系统高效地学习数据结构与算法?一、什么是数据结构?什么是算法?二、学习的重点在什么地方?三、一些可以让你事半功倍的学习技巧一、什么是数据结构?
Mr._Hou
·
2020-07-02 03:08
数据结构与算法
数据结构预算法
极客时间
笔记心得
[第一章] 复杂度分析
注此专栏内容主要参考极客时间-
数据结构与算法之美
事后统计法一般测试进行的性能分析,都是属于“事后统计法”“事后统计法”不好的方面测试结果依赖测试环境(比如测试机器配置)测试结果受数据规模影响大O表示法T
刀哥哥
·
2020-07-01 23:26
数据结构与算法
JavaScript
数据结构与算法之美
- 线性表(数组、栈、队列、链表)
笔者写的JavaScript
数据结构与算法之美
系列用的语言是JavaScript,旨在入门数据结构与算法和方便以后复习。1.线性表与非线性表线性表(LinearList):就是数据排成
dizhao3079
·
2020-07-01 22:53
【Algorithm&DataStructure】极客时间-
数据结构与算法之美
专栏笔记I
以下内容均来自本人学习专栏时的个人笔记、总结,侵权即删专栏地址:https://time.geekbang.org/column/126希望看到本文章的,可以去支持一下老师,讲的很好!!目录时间复杂度为O(n)=logn的代码没有头结点要多判断什么?-->哨兵结点作用数组和链表的区别容器(ArrayList)和数组的选择队列阻塞队列并发队列队列的应用场景和实现方式选择递归递归需要满足的三个条件如何
TypantK
·
2020-07-01 14:03
Algorithm
DataStructure
《
数据结构与算法之美
》笔记——数组
最近又加了一个学习小组,准备开始快乐的刷力扣啦~这类文章也会慢慢形成一个leetcode刷题系列的今天就先从最简单的数组开始叭,理论部分我看的是王争老师的《
数据结构与算法之美
》,这是《
数据结构与算法之美
shiinerise
·
2020-07-01 13:20
leetcode
数据结构与算法之美
数组
数组随机访问
数组从0开始编号
动态数组
数据结构与算法之美
笔记 : 二分法查找 「 一 」
我们假设只有10个订单,订单金额分别是:8,11,19,23,27,33,45,55,67,98。还是利用二分思想,每次都与区间的中间数据比对大小,缩小查找区间的范围。为了更加直观,我画了一张查找过程的图。其中,low和high表示待查找区间的下标,mid表示待查找区间的中间元素下标。二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为
张伯毅
·
2020-07-01 07:07
数据结构与算法之美
数据结构与算法之美
笔记 : 哈希算法
什么是哈希算法?我们前面几节讲到“散列表”“散列函数”,这里又讲到“哈希算法”,你是不是有点一头雾水?实际上,不管是“散列”还是“哈希”,这都是中文翻译的差别,英文其实就是“Hash”。所以,我们常听到有人把“散列表”叫作“哈希表”“Hash表”,把“哈希算法”叫作“Hash算法”或者“散列算法”。那到底什么是哈希算法呢?哈希算法的定义和原理非常简单,基本上一句话就可以概括了。将任意长度的二进制值
张伯毅
·
2020-07-01 07:07
数据结构与算法之美
数据结构与算法之美
学习笔记:数组为什么从0开始编号(第5讲)
一、数组的基本概念数组是一种线性数据结构,它用连续的内训空间,来存储一组局具有相同类型的数据1、线性表第一线性表:顾名思义,线性表就是数据排成像一条线一样的结构,每个线性上的数据最多只有前后两个方向,其实除了数组、链表、队列、栈等也是线性结构而与它相对立的概念是非线性表,比如二叉树、堆、图等,之所以叫非线性,是因为,在非线性表中、数据之间并不是简单的前后关系2、连续的内存空间和相同类型的数据第二个
weixin_30593261
·
2020-07-01 05:37
极客时间-
数据结构与算法之美
时间复杂度表达的是代码执行时间随数据规模增长的变化趋势。时间复杂度分析:只关注循环执行次数最多的一段代码总的时间复杂度等于量级最大的那段代码的时间复杂乘法法则:O(1)表示代码执行时间不会随着n的变化而变化,无论n多大;只要代码中不存在循环语句和递归语句;即为O(1);O(logn)分析:i=1;while(inext=qp节点中的next指针存储了q节点的内存地址;2.警惕指针丢失和内存泄露插入
卡农配清风
·
2020-07-01 04:22
[第五章] 队列
注:此专栏内容主要参考极客时间-
数据结构与算法之美
1.概念先进者先出,这就是典型的“队列”;入队enqueue(),放一个数据到队列尾部,出队dequeue(),从队列头部取一个元素;用数组实现的队列叫作顺序队列
刀哥哥
·
2020-07-01 02:41
数据结构与算法
[第六章] 排序
注:此专栏内容主要参考极客时间-
数据结构与算法之美
1.常用排序法冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序基于比较的排序算法的执行过程,会涉及两种操作,一种是元素比较大小
刀哥哥
·
2020-07-01 02:41
[第四章] 栈
注:此专栏内容主要参考极客时间-
数据结构与算法之美
1.概念后进者先出,先进者后出,这就是典型的“栈”结构;栈是一种“操作受限”的线性表,只允许在一端插入和删除数据;栈主要包含两个操作,入栈和出栈,也就是在栈顶插入一个数据和从栈顶删除一个数据
刀哥哥
·
2020-07-01 02:41
数据结构与算法
[第二章] 数组
注:此专栏内容主要参考极客时间-
数据结构与算法之美
1.概念数组是一种线性表结构,它用一组**连续**的空间,存储具有**相同类型**的数据;2.线性表线性表即线一样的数据结构,数组、链表、栈、队列都属于线性表
刀哥哥
·
2020-07-01 02:40
数据结构与算法
[第三章] 链表
注:此专栏内容主要参考极客时间-
数据结构与算法之美
1.概念链表与数组相反,它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用;常见的三类链表:单链表、双向链表、循环链表2.链表特点链表中插入或者删除一个数据
刀哥哥
·
2020-07-01 02:40
数据结构与算法
链表
数据结构与算法之美
笔记 : 图
概念树中的元素我们称为节点,图中的元素我们就叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。我们把这种建立的关系叫作边(edge)。社交网络,就是一个非常典型的图结构。我们就拿微信举例子吧。我们可以把每个用户看作一个顶点。如果两个用户之间互加好友,那就在两者之间建立一条边。所以,整个微信的好友关系就可以用一张图来表示。其中,每个用户有多少个好友,对应到图中,就叫作顶点的度(
张伯毅
·
2020-06-30 14:04
数据结构与算法之美
数据结构与算法之美
笔记: 红黑树
二叉查找树在频繁的动态更新过程中,可能会出现树的高度远大于log2n的情况,从而导致各个操作的效率下降。极端情况下,二叉树会退化为链表,时间复杂度会退化到O(n)。什么是“平衡二叉查找树”?平衡二叉树的严格定义是这样的:二叉树中任意一个节点的左右子树的高度相差不能大于1。从这个定义来看,上一节我们讲的完全二叉树、满二叉树其实都是平衡二叉树,但是非完全二叉树也有可能是平衡二叉树。发明平衡二叉查找树这
张伯毅
·
2020-06-30 14:04
数据结构与算法之美
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他