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
《数据结构与算法之美》
《
数据结构与算法之美
》01~05笔记
Demo,写的博客都放在了这个仓库里iOS-Engineer-Interview欢迎star其中的博客在,CSDN都有发布博客中提到的相关的代码Demo可以在仓库里相应的文件夹里找到前言该系列为学习《
数据结构与算法之美
太阳骑士索拉尔
·
2024-02-10 12:52
数据结构与算法之美
学习笔记:50 | 索引:如何在海量数据中快速查找某个数据?
目录前言为什么需要索引?索引的需求定义构建索引常用的数据结构有哪些?总结引申前言本节课程思维导图:在第48节中,我们讲了MySQL数据库索引的实现原理。MySQL底层依赖的是B+树这种数据结构。留言里有同学问我,那类似Redis这样的Key-Value数据库中的索引,又是怎么实现的呢?底层依赖的又是什么数据结构呢?今天,我就来讲一下索引这种常用的技术解决思路,底层往往会依赖哪些数据结构。同时,通过
浊酒南街
·
2024-02-07 14:05
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:51 | 并行算法:如何利用并行处理提高算法的执行效率?
目录前言并行排序并行查找并行字符串匹配并行搜索总结引申前言本节课程思维导图:时间复杂度是衡量算法执行效率的一种标准。但是,时间复杂度并不能跟性能划等号。在真实的软件开发中,即便在不降低时间复杂度的情况下,也可以通过一些优化手段,提升代码的执行效率。毕竟,对于实际的软件开发来说,即便是像10%、20%这样微小的性能提升,也是非常可观的。算法的目的就是为了提高代码执行的效率。那当算法无法再继续优化的情
浊酒南街
·
2024-02-07 14:05
数据结构与算法之美学习笔记
算法
数据结构
务实基础,从这开始
写在前面文章的内容学习自【极客时间的付费专栏课程--
数据结构与算法之美
】,老师是王争。
y0000c
·
2024-02-05 17:44
字符串匹配算法--
数据结构与算法之美
--CH32
文章目录1.什么是字符串匹配2.如何实现字符串匹配2.1BF算法2.2.1BF算法常用原因2.2RK算法2.2.1hash算法的设计2.2.2散列冲突处理3.其他算法简介4.思考总结1.什么是字符串匹配 “字符串匹配”就是在一个长字符串A中搜索一个短的字符串B,此时A称为主串,B称为模式串。 把主串A的长度记作n,模式串B的长度记作m,因为在主串中查找模式串,所以n>m。2.如何实现字符串匹配
csdn_SUSAN
·
2024-02-05 17:17
数据结构和算法
字符串匹配
RK算法
BF算法
《
数据结构与算法之美
》22——递归树
前言在排序那一节里,讲到排序时,利用递推公式推导时间复杂度来求解归并排序、快速排序的时间复杂度,但有些情况,例如快速排序的平均时间复杂度,利用递推公式,会涉及很复杂的数据推导。今天学习一种特殊的树来分析递归算法的时间复杂度,那就是递归树。递归树与时间复杂度递归算法的思路是把大问题分成小问题来解决,一层一层的分解,直到问题规模足够小,不需要再递归为止。把这个一层一层的分解过程画成图,它其实是一颗树。
大杂草
·
2024-01-31 04:13
《
数据结构与算法之美
》 笔记四 数组
文章目录前言如何实现随机访问?低效的“插入”和“删除”警惕数组的访问越界问题容器能否完全替代数组?解答开篇内容小结思考题:前言是的,在每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。尽管数组看起来非常基础、简单,但是我估计很多人都并没有理解这个基础数据结构的精髓。在大部分编程语言中,数组都是从0开始编号的,但你是否下意识地想过,为什
大叔爱学习.
·
2024-01-29 11:36
数据结构与算法之美
数据结构
算法
链表
数据结构与算法之美
总结(数组、链表、栈、队列、递归、排序及二分)
title:
数据结构与算法之美
总结(数组、链表、栈、队列、递归、排序及二分)date:2023-04-1501:41:26tags:数据结构算法categories:数据结构与算法cover:https
Fan
·
2024-01-29 11:02
数据结构与算法
数据结构
数据结构与算法之美
-08讲栈:如何实现浏览器的前进和后退功能
特别备注本系列非原创,文章原文摘自极客时间-数据结构算法之美,用于平常学习记录。如有侵权,请联系我删除,谢谢!浏览器的前进、后退功能,我想你肯定很熟悉吧?当你依次访问完一串页面a-b-c之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面b和a。当你后退到页面a,点击前进按钮,就可以重新查看页面b和c。但是,如果你后退到页面b后,点击了新的页面d,那就无法再通过前进、后退功能查看页面c了。假设你
蒋斌文
·
2024-01-17 18:31
数据结构与算法之美
学习笔记:48 | B+树:MySQL数据库索引是如何实现的?
目录前言算法解析总结引申前言本节课程思维导图:作为一个软件开发工程师,你对数据库肯定再熟悉不过了。作为主流的数据存储系统,它在我们的业务开发中,有着举足轻重的地位。在工作中,为了加速数据库中数据的查找速度,我们常用的处理思路是,对表中数据创建索引。那你是否思考过,数据库索引是如何实现的呢?底层使用的是什么数据结构和算法呢?算法解析思考的过程比结论更重要。今天的讲解,我会尽量还原这个解决方案的思考过
浊酒南街
·
2024-01-16 09:53
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
笔记——基础篇(中):树,二叉树,二叉查找树,平衡二叉查找树,红黑树,递归树,堆
树:A节点就是B节点的父节点,B节点是A节点的子节点。B、C、D这三个节点的父节点是同一个节点,所以它们之间互称为兄弟节点。我们把没有父节点的节点叫作根节点,也就是图中的节点E。我们把没有子节点的节点叫作叶子节点或者叶节点,比如图中的G、H、I、J、K、L都是叶子节点。二叉树(BinaryTree)二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点。不过,二叉树
三角形代表重生
·
2024-01-14 06:59
数据结构与算法
数据结构
算法
java
数据结构与算法之美
学习笔记:47 | 向量空间:如何实现一个简单的音乐推荐系统?
这里写自定义目录标题前言算法解析总结引申前言本节课程思维导图:很多人都喜爱听歌,以前我们用MP3听歌,现在直接通过音乐App在线就能听歌。而且,各种音乐App的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的口味偏好,给你推荐可能会喜爱的音乐,而且有时候,推荐的音乐还非常适合你的口味,甚至会惊艳到你!如此智能的一个功能,你知道它是怎么实现的吗?算法解析实际上,要解决这个问题,并不需要特别高深
浊酒南街
·
2024-01-13 01:18
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:46 | 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?
目录前言算法解析总结引申前言本节课程思维导图:上一节我们讲到,如何用位图、布隆过滤器,来过滤重复的数据。今天,我们再讲一个跟过滤相关的问题,如何过滤垃圾短信?垃圾短信和骚扰电话,我想每个人都收到过吧?买房、贷款、投资理财、开发票,各种垃圾短信和骚扰电话,不胜其扰。如果你是一名手机应用开发工程师,让你实现一个简单的垃圾短信过滤功能以及骚扰电话拦截功能,该用什么样的数据结构和算法实现呢?算法解析实际上
浊酒南街
·
2024-01-13 01:48
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美
学习笔记:45 | 位图:如何实现网页爬虫中的URL去重功能?
目录前言算法解析总结引申前言本节课程思维导图:网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的网页链接,然后再爬取这些链接对应的网页。而同一个网页链接有可能被包含在多个页面中,这就会导致爬虫在爬取的过程中,重复爬取相同的网页。如果你是一名负责爬虫的工程师,你会如何避免这些重复的爬取呢?最容易想到的方法就是,我们记录已经爬取的网页链接(也
浊酒南街
·
2024-01-13 01:47
数据结构与算法之美学习笔记
爬虫
数据结构
算法
数据结构与算法之美
-26讲红黑树(下)
数据结构与算法之美
-26讲红黑树(下)特别备注本系列非原创,文章原文摘自极客时间-数据结构算法之美,用于平常学习记录。如有侵权,请联系我删除,谢谢!
蒋斌文
·
2024-01-06 19:08
数据结构与算法之美
学习笔记:43 | 拓扑排序:如何确定代码源文件的编译依赖关系?
目录前言算法解析1.Kahn算法2.DFS算法总结引申前言本节课程思维导图现在,我们就进入高级篇的第一节,如何确定代码源文件的编译依赖关系?我们知道,一个完整的项目往往会包含很多代码源文件。编译器在编译整个项目的时候,需要按照依赖关系,依次编译每个源文件。比如,A.cpp依赖B.cpp,那在编译的时候,编译器需要先编译B.cpp,才能编译A.cpp。编译器通过分析源文件或者程序员事先写好的编译配置
浊酒南街
·
2024-01-05 22:51
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:44 | 最短路径:地图软件是如何计算出最优出行路径的?
目录前言算法解析总结引申前言本节课程思维导图:我们学习了图的两种搜索算法,深度优先搜索和广度优先搜索。这两种算法主要是针对无权图的搜索算法。针对有权图,也就是图中的每条边都有一个权重,我们该如何计算两点之间的最短路径(经过的边的权重和最小)呢?今天,我就从地图软件的路线规划问题讲起,带你看看常用的最短路径算法(ShortestPathAlgorithm)。像Google地图、百度地图、高德地图这样
浊酒南街
·
2024-01-05 22:50
数据结构与算法之美学习笔记
数据结构
算法
笔记:
数据结构与算法之美
06 | 链表(上):如何实现LRU缓存淘汰算法?
LRU缓存淘汰算法优先淘汰最近最少使用的数据Least最少Recently最近Used使用链表和数组底层存储结构不同数组需要一块连续的内存空间来存储链表不需要,他通过指针将一组零散的内存块串联起来使用五花八门的链表结构单链表双向链表循环链表单链表每一组零散的内存块称之为结点记录下个结点地址的指针叫作后继指针next有两个特殊结点第一个结点头结点,记录链表的基地址最后一个结点尾结点,指针不是指向下一
金陵砍柴人
·
2024-01-04 12:20
链表
数据结构
算法
笔记:
数据结构与算法之美
05 | 数组:为什么很多编程语言中数组都从0开始编号?
数组一种线性表数据结构一组连续的内存空间存储一组具有相同类型的数据线性表(LinearList)数据排成一条线一样的结构数据最多只有前和后两个方向tips:除了数组,链表、队列、栈等也是线性表结构非线性表数据之间并不是简单的前后关系tips:比如二叉树、堆、图等连续的内存空间和相同类型的数据正因如此,才有了“随机访问”的特性数组如何实现根据下标随机访问数组元素?通过如下寻址公式,计算出该元素存储的
金陵砍柴人
·
2024-01-04 12:49
数据结构
算法
链表
[44]最短路径:地图软件是如何计算出最优出行路径的?
GeekTime
数据结构与算法之美
(ఠൠఠ)ノ真心推荐极客时间我们本科都学习过图的两种搜索算法,深度优先搜索和广度优先搜索。这两种算法主要是针对无权图的搜索算法。
_魔佃_
·
2024-01-01 05:16
数据结构与算法之美
学习笔记:42 | 动态规划实战:如何实现搜索引擎中的拼写纠错功能?
目录前言如何量化两个字符串的相似度?如何编程计算莱文斯坦距离?如何编程计算最长公共子串长度?解答开篇前言本节课程思维导图:利用Trie树,可以实现搜索引擎的关键词提示功能,这样可以节省用户输入搜索关键词的时间。实际上,搜索引擎在用户体验方面的优化还有很多,比如你可能经常会用的拼写纠错功能。当你在搜索框中,一不小心输错单词时,搜索引擎会非常智能地检测出你的拼写错误,并且用对应的正确单词来进行搜索。作
浊酒南街
·
2023-12-30 12:26
数据结构与算法之美学习笔记
动态规划
数据结构
算法
数据结构与算法之美
学习笔记:41 | 动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题
目录前言“一个模型三个特征”理论讲解“一个模型三个特征”实例剖析两种动态规划解题思路总结四种算法思想比较分析内容小结前言本节课程思维导图:今天,我主要讲动态规划的一些理论知识。学完这节内容,可以帮你解决这样几个问题:什么样的问题可以用动态规划解决?解决动态规划问题的一般思考过程是什么样的?贪心、分治、回溯、动态规划这四种算法思想又有什么区别和联系?“一个模型三个特征”理论讲解什么样的问题适合用动态
浊酒南街
·
2023-12-29 07:16
数据结构与算法之美学习笔记
动态规划
算法
数据结构
数据结构与算法之美
学习笔记:40 | 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?
这里写自定义目录标题前言动态规划学习路线0-1背包问题0-1背包问题升级版解答开篇内容小结前言本节课程思维导图:淘宝的“双十一”购物节有各种促销活动,比如“满200元减50元”。假设你女朋友的购物车中有n个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200元),这样就可以极大限度地“薅羊毛”。作为程序员的你,能不能编个代码来帮
浊酒南街
·
2023-12-27 21:47
数据结构与算法之美学习笔记
动态规划
算法
数据结构
数据结构与算法之美
-09讲队列
数据结构与算法之美
-09讲队列特别备注本系列非原创,文章原文摘自极客时间-数据结构算法之美,用于平常学习记录。如有侵权,请联系我删除,谢谢!
蒋斌文
·
2023-12-25 01:32
数据结构与算法之美
学习笔记:39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
目录前言如何理解“回溯算法”?两个回溯算法的经典应用内容小结前言本节课程思维导图:我们在前面深度优先搜索算法利用的是回溯算法思想。这个算法思想非常简单,但是应用却非常广泛。它除了用来指导像深度优先搜索这种经典的算法设计之外,还可以用在很多实际的软件开发场景中,比如正则表达式匹配、编译原理中的语法分析等。除此之外,很多经典的数学问题都可以用回溯算法解决,比如数独、八皇后、0-1背包、图的着色、旅行商
浊酒南街
·
2023-12-22 18:33
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美
学习笔记:38 | 分治算法:谈一谈大规模计算框架MapReduce中的分治思想
目录前言如何理解分治算法?分治算法应用举例分析分治思想在海量数据处理中的应用解答开篇内容小结前言本节课程思维导图:MapReduce是Google大数据处理的三驾马车之一,另外两个是GFS(hdfs)和Bigtable(hbase)。它在倒排索引、PageRank计算、网页分析等搜索引擎相关的技术中都有大量的应用。MapReduce的本质就是我们今天要学的这种算法思想,分治算法。如何理解分治算法?
浊酒南街
·
2023-12-21 03:51
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美
学习笔记:37 | 贪心算法:如何用贪心算法实现Huffman压缩编码?
目录前言如何理解“贪心算法”?贪心算法实战分析解答开篇内容小结前言本节课程思维导图:接下来几节,我会讲几种更加基本的算法。它们分别是贪心算法、分治算法、回溯算法、动态规划。更加确切地说,它们应该是算法思想,并不是具体的算法,常用来指导我们设计具体的算法和编码等。贪心、分治、回溯、动态规划这4个算法思想,原理解释起来都很简单,但是要真正掌握且灵活应用,并不是件容易的事情。今天,我们先来学习一下贪心算
浊酒南街
·
2023-12-20 08:31
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:36 | AC自动机:如何用多模式串匹配实现敏感词过滤功能?
目录前言基于单模式串和Trie树实现的敏感词过滤经典的多模式串匹配算法:AC自动机解答开篇内容小结前言本节课程思维导图:很多支持用户发表文本内容的网站,比如BBS,大都会有敏感词过滤功能,用来过滤掉用户输入的一些淫秽、反动、谩骂等内容。你有没有想过,这个功能是怎么实现的呢?实际上,这些功能最基本的原理就是字符串匹配算法,也就是通过维护一个敏感词的字典,当用户输入一段文字内容之后,通过字符串匹配算法
浊酒南街
·
2023-12-16 06:38
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
笔记——基础篇(下):图、字符串匹配算法(BF 算法和 RK 算法、BM 算法和 KMP 算法 、Trie 树和 AC 自动机)
图如何存储微博、微信等社交网络中的好友关系?图。实际上,涉及图的算法有很多,也非常复杂,比如图的搜索、最短路径、最小生成树、二分图等等。我们今天聚焦在图存储这一方面,后面会分好几节来依次讲解图相关的算法。如何理解“图”?我们前面讲过了树这种非线性表数据结构,今天我们要讲另一种非线性表数据结构,图(Graph)。和树比起来,这是一种更加复杂的非线性表结构。图中的元素我们就叫作顶点(vertex)。图
三角形代表重生
·
2023-12-15 16:21
数据结构与算法
数据结构
算法
数据结构与算法之美
学习笔记:35 | Trie树:如何实现搜索引擎的搜索关键词提示功能?
目录前言什么是“Trie树”?如何实现一棵Trie树?Trie树真的很耗内存吗?Trie树与散列表、红黑树的比较解答开篇内容小结前言本节课程思维导图:搜索引擎的搜索关键词提示功能,我想你应该不陌生吧?为了方便快速输入,当你在搜索引擎的搜索框中,输入要搜索的文字的某一部分的时候,搜索引擎就会自动弹出下拉框,里面是各种关键词提示。你是否思考过,它是怎么实现的呢?它底层使用的是哪种数据结构和算法呢?其底
浊酒南街
·
2023-12-15 09:29
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:30 | 图的表示:如何存储微博、微信等社交网络中的好友关系?
目录前言如何理解“图”?邻接矩阵存储方法邻接表存储方法解答开篇内容小结前言本节课程思维导图:微博、微信这些社交软件我想你肯定都玩过吧。在微博中,两个人可以互相关注;在微信中,两个人可以互加好友。那你知道,如何存储微博、微信等这些社交网络的好友关系吗?如何理解“图”?今天我们要讲另一种非线性表数据结构,图(Graph)。和树比起来,这是一种更加复杂的非线性表结构。我们知道,树中的元素我们称为节点,图
浊酒南街
·
2023-12-05 18:52
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?
目录前言什么是“搜索”算法?广度优先搜索(BFS)深度优先搜索(DFS)解答开篇内容小结前言本节课程思维导图:社交网络中,有一个六度分割理论,具体是说,你与世界上的另一个人间隔的关系不会超过六度,也就是说平均只需要六步就可以联系到任何两个互不相识的人。一个用户的一度连接用户很好理解,就是他的好友,二度连接用户就是他好友的好友,三度连接用户就是他好友的好友的好友。在社交网络中,我们往往通过用户之间的
浊酒南街
·
2023-12-05 18:47
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:29 | 堆的应用:如何快速获取到Top 10最热门的搜索关键词?
目录前言堆的应用一:优先级队列堆的应用二:利用堆求TopK堆的应用三:利用堆求中位数解答开篇内容小结前言本节课程思维导图:搜索引擎的热门搜索排行榜功能你用过吗?搜索引擎每天会接收大量的用户搜索请求,它会把这些用户输入的搜索关键词记录下来,然后再离线地统计分析,得到最热门的Top10搜索关键词。那请你思考下,假设现在我们有一个包含10亿个搜索关键词的日志文件,如何能快速获取到热门榜Top10的搜索关
浊酒南街
·
2023-12-02 16:23
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
代码:排序算法之堆排序
堆排序原理堆排序包含两个过程,建堆和排序。我们将下标从1/2*n到1的节点,依次进行从上到下的堆化操作,然后就可以将数组中的数据组织成堆这种数据结构。接下来,我们迭代地将堆顶的元素放到堆的末尾,并将堆的大小减一,然后再堆化,重复这个过程,直到堆中只剩下一个元素,整个数组中的数据就都有序排列了。代码实现packagecom.athome.heap;publicclassHeapSortDemo{pu
浊酒南街
·
2023-12-02 16:52
数据结构与算法之美代码
排序算法
算法
java
数据结构与算法之美
学习笔记:26 | 红黑树(下):掌握这些技巧,你也可以实现一个红黑树
目录前言实现红黑树的基本思想插入操作的平衡调整删除操作的平衡调整解答开篇内容小结前言本节课程思维导图:红黑树是一个让我又爱又恨的数据结构,“爱”是因为它稳定、高效的性能,“恨”是因为实现起来实在太难了。对于绝大部分开发工程师来说,这辈子你可能都用不着亲手写一个红黑树,所以没必要去死磕它。上一节,我们讲到红黑树定义的时候,提到红黑树的叶子节点都是黑色的空节点。当时我只是粗略地解释了,这是为了代码实现
浊酒南街
·
2023-11-28 20:29
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
代码:二分查找2
目录二分查找的变形问题代码二分查找的变形问题代码packagecom.athome.search;publicclassBinarySearchDemo{publicstaticvoidmain(String[]args){int[]arr={1,3,4,5,6,8,8,8,11,18};intindex1=bsearch1(arr,arr.length,8);intindex2=bsearch2
浊酒南街
·
2023-11-28 20:29
数据结构与算法之美代码
java
算法
数据结构
数据结构与算法之美
代码:二分查找1
目录二分查找代码实现二分查找问题1:请对一个有序数组进行二分查找{1,8,10,89,1000,1234},输入一个数看看该数组是否存在此数,并且求出下标,如果没有,就提示没有这个数;问题2:请对一个有序数组进行二分查找{1,8,10,89,1000,1000,1000,1324},输入一个数看看该数组是否存在此数,如果存在,求出所有下标;补充:二分查找适用的前提是数组是有序的代码实现packag
浊酒南街
·
2023-11-28 19:21
数据结构与算法之美代码
java
算法
《
数据结构与算法之美
》读书笔记2
链表操作的技巧1.理解指针将摸个变量赋值给指针,实际上就是将这个变量的地址赋给指针,或者,指针中存储了这个变量的地址,指向了这个变量,所以可以通过指针找到这个变量。2.内存泄漏或指针丢失删除链表节点时,也要手动释放内存空间,否则会出现内存泄漏的问题。在插入结点时,应该先将x结点的下一个指向p的下一个b结点,然后再将p的下一个结点赋为x结点这样写会出现指针丢失:a->next=x;x->next=a
明里灰
·
2023-11-27 01:53
读书笔记
数据结构与算法
读书笔记
小结
学习
数据结构与算法之美
-29讲堆的应用:如何快速获取到Top10最热门的搜索关键词
数据结构与算法之美
-29讲堆的应用:如何快速获取到Top10最热门的搜索关键词特别备注本系列非原创,文章原文摘自极客时间-数据结构算法之美,用于平常学习记录。如有侵权,请联系我删除,谢谢!
蒋斌文
·
2023-11-25 02:25
数据结构与算法之美
学习笔记:23 | 二叉树基础(上):什么样的二叉树适合用数组来存储?
目录前言树(Tree)二叉树(BinaryTree)二叉树的遍历解答开篇&内容小结前言本节课程思维导图:前面我们讲的都是线性表结构,栈、队列、链表等等。今天我们讲一种非线性表结构,树。问题:二叉树有哪几种存储方式?什么样的二叉树适合用数组来存储?树(Tree)“树”这种数据结构真的很像我们现实生活中的“树”,这里面每个元素我们叫做“节点”;用来连接相邻节点之间的关系,我们叫做“父子关系”。A节点就
浊酒南街
·
2023-11-22 15:21
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?
目录前言二叉查找树(BinarySearchTree)二叉查找树的时间复杂度分析解答开篇内容小结前言本节课程思维导图:二叉查找树最大的特点就是,支持动态数据集合的快速插入、删除、查找操作。我们之前说过,散列表也是支持这些操作的,并且散列表的这些操作比二叉查找树更高效,时间复杂度是O(1)。既然有了这么高效的散列表,使用二叉树的地方是不是都可以替换成散列表呢?有没有哪些地方是散列表做不了,必须要用二
浊酒南街
·
2023-11-22 15:21
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:22 | 哈希算法(下):哈希算法在分布式系统中有哪些应用?
目录前言应用五:负载均衡应用六:数据分片应用七:分布式存储解答开篇&内容小结前言本节课程思维导图今天,我们再来看剩余三种应用:负载均衡、数据分片、分布式存储。你可能已经发现,这三个应用都跟分布式系统有关。没错,今天我就带你看下,哈希算法是如何解决这些分布式问题的。应用五:负载均衡我们知道,负载均衡算法有很多,比如轮询、随机、加权轮询等。那如何才能实现一个会话粘滞(sessionsticky)的负载
浊酒南街
·
2023-11-19 23:43
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:20 | 散列表(下):为什么散列表和链表经常会一起使用?
目录前言LRU缓存淘汰算法Redis有序集合JavaLinkedHashMap解答开篇&内容小结前言本节课程思维导图:今天,我们就来看看,在这几个问题中,散列表和链表都是如何组合起来使用的,以及为什么散列表和链表会经常放到一块使用。LRU缓存淘汰算法借助散列表,我们可以把LRU缓存淘汰算法的时间复杂度降低为O(1)。现在,我们就来看看它是如何做到的。首先,我们来回顾一下当时我们是如何通过链表实现L
浊酒南街
·
2023-11-19 23:42
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
学习笔记:21 | 哈希算法(上):如何防止数据库中的用户信息被脱库?
目录前言什么是哈希算法?应用一:安全加密应用二:唯一标识应用三:数据校验散列函数解答开篇内容小节前言本节课程思维导图如果你是一名工程师,你会如何存储用户密码这么重要的数据吗?仅仅MD5加密一下存储就够了吗?我今天不会重点剖析哈希算法的原理,也不会教你如何设计一个哈希算法,而是从实战的角度告诉你,在实际的开发中,我们该如何用哈希算法解决问题。什么是哈希算法?实际上,不管是“散列”还是“哈希”,这都是
浊酒南街
·
2023-11-19 23:24
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美
-35讲Trie树
数据结构与算法之美
-35讲Trie树特别备注本系列非原创,文章原文摘自极客时间-数据结构算法之美,用于平常学习记录。如有侵权,请联系我删除,谢谢!搜索引擎的搜索关键词提示功能,我想你应该不陌生吧?
蒋斌文
·
2023-11-19 12:09
数据结构与算法之美
数据结构与算法之美
概念数据结构指一组数据的存储结构图书馆储藏书籍,为了方便查找,一般会将书籍分门别类进行“存储”;按照一定规律编号,就是书籍这种“数据”的存储结构算法操作数据的一组方法那如何来查找一本书呢
米Py
·
2023-11-17 16:52
分治算法:谈一谈大规模计算框架MapReduce中的分治思想
------本文是学习算法的笔记,《
数据结构与算法之美
》,极客时间的课程------MapReduce是Google大数据处理的三驾马车之一,另外两个是GFS和Bigtable。
every__day
·
2023-11-17 09:46
算法与数据结构
分治算法
MapReduce
并归排序
算法与数据结构(三) -- 散列表
作者:opLW参考:王争老师的《
数据结构与算法之美
》学习《
数据结构与算法之美
》的一些简要的笔记。记录一个大体的思路,可能不是很详细。?
op小白
·
2023-11-14 09:13
算法与数据结构
数据结构
散列表
《
数据结构与算法之美
》目录
数据结构与算法之美
_算法实战_算法面试开篇词(1讲)《
数据结构与算法之美
》学习指导手册开篇词|从今天起,跨过“数据结构与算法”这道坎入门篇(4讲)01|为什么要学习数据结构和算法?
小明的笔记仓库
·
2023-11-14 09:42
#
数据结构与算法
数据结构
数据结构与算法之美
| 学习笔记14 —— 散列表基础
一、散列表(HashTable)散列表是数组的一种扩展,用的是数组支持按照下标随机访问的特性。1.散列思想假设在运动会中,为了通过编号快速找到对应运动员的信息,当编号不再是1-89这样简单的排列时,就需要一种方法,使编号跟数组下标的元素一一对应。例如,编号前两位表示年级,中间两位表示班级,最后两位表示编号,那么一一对应的关系就是将最后两位作为数组下标。运用这种散列思想,参赛选手的编号叫做键(Key
一大桃
·
2023-11-14 09:09
数据结构
算法
数据结构
上一页
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
其他