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
数据结构与算法之美学习笔记
数据结构与算法之美学习笔记
:50 | 索引:如何在海量数据中快速查找某个数据?
目录前言为什么需要索引?索引的需求定义构建索引常用的数据结构有哪些?总结引申前言本节课程思维导图:在第48节中,我们讲了MySQL数据库索引的实现原理。MySQL底层依赖的是B+树这种数据结构。留言里有同学问我,那类似Redis这样的Key-Value数据库中的索引,又是怎么实现的呢?底层依赖的又是什么数据结构呢?今天,我就来讲一下索引这种常用的技术解决思路,底层往往会依赖哪些数据结构。同时,通过
浊酒南街
·
2024-02-07 14:05
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:51 | 并行算法:如何利用并行处理提高算法的执行效率?
目录前言并行排序并行查找并行字符串匹配并行搜索总结引申前言本节课程思维导图:时间复杂度是衡量算法执行效率的一种标准。但是,时间复杂度并不能跟性能划等号。在真实的软件开发中,即便在不降低时间复杂度的情况下,也可以通过一些优化手段,提升代码的执行效率。毕竟,对于实际的软件开发来说,即便是像10%、20%这样微小的性能提升,也是非常可观的。算法的目的就是为了提高代码执行的效率。那当算法无法再继续优化的情
浊酒南街
·
2024-02-07 14:05
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美学习笔记
:48 | B+树:MySQL数据库索引是如何实现的?
目录前言算法解析总结引申前言本节课程思维导图:作为一个软件开发工程师,你对数据库肯定再熟悉不过了。作为主流的数据存储系统,它在我们的业务开发中,有着举足轻重的地位。在工作中,为了加速数据库中数据的查找速度,我们常用的处理思路是,对表中数据创建索引。那你是否思考过,数据库索引是如何实现的呢?底层使用的是什么数据结构和算法呢?算法解析思考的过程比结论更重要。今天的讲解,我会尽量还原这个解决方案的思考过
浊酒南街
·
2024-01-16 09:53
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:47 | 向量空间:如何实现一个简单的音乐推荐系统?
这里写自定义目录标题前言算法解析总结引申前言本节课程思维导图:很多人都喜爱听歌,以前我们用MP3听歌,现在直接通过音乐App在线就能听歌。而且,各种音乐App的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的口味偏好,给你推荐可能会喜爱的音乐,而且有时候,推荐的音乐还非常适合你的口味,甚至会惊艳到你!如此智能的一个功能,你知道它是怎么实现的吗?算法解析实际上,要解决这个问题,并不需要特别高深
浊酒南街
·
2024-01-13 01:18
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:46 | 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?
目录前言算法解析总结引申前言本节课程思维导图:上一节我们讲到,如何用位图、布隆过滤器,来过滤重复的数据。今天,我们再讲一个跟过滤相关的问题,如何过滤垃圾短信?垃圾短信和骚扰电话,我想每个人都收到过吧?买房、贷款、投资理财、开发票,各种垃圾短信和骚扰电话,不胜其扰。如果你是一名手机应用开发工程师,让你实现一个简单的垃圾短信过滤功能以及骚扰电话拦截功能,该用什么样的数据结构和算法实现呢?算法解析实际上
浊酒南街
·
2024-01-13 01:48
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美学习笔记
:45 | 位图:如何实现网页爬虫中的URL去重功能?
目录前言算法解析总结引申前言本节课程思维导图:网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的网页链接,然后再爬取这些链接对应的网页。而同一个网页链接有可能被包含在多个页面中,这就会导致爬虫在爬取的过程中,重复爬取相同的网页。如果你是一名负责爬虫的工程师,你会如何避免这些重复的爬取呢?最容易想到的方法就是,我们记录已经爬取的网页链接(也
浊酒南街
·
2024-01-13 01:47
数据结构与算法之美学习笔记
爬虫
数据结构
算法
数据结构与算法之美学习笔记
: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
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
: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
数据结构与算法之美学习笔记
动态规划
算法
数据结构
数据结构与算法之美学习笔记
: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
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
: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
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:26 | 红黑树(下):掌握这些技巧,你也可以实现一个红黑树
目录前言实现红黑树的基本思想插入操作的平衡调整删除操作的平衡调整解答开篇内容小结前言本节课程思维导图:红黑树是一个让我又爱又恨的数据结构,“爱”是因为它稳定、高效的性能,“恨”是因为实现起来实在太难了。对于绝大部分开发工程师来说,这辈子你可能都用不着亲手写一个红黑树,所以没必要去死磕它。上一节,我们讲到红黑树定义的时候,提到红黑树的叶子节点都是黑色的空节点。当时我只是粗略地解释了,这是为了代码实现
浊酒南街
·
2023-11-28 20:29
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
: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
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:18 | 散列表(上):Word文档中的单词拼写检查功能是如何实现的?
目录前言散列思想散列函数散列冲突解答开篇前言本节课程思维导图:Word的单词拼写检查功能,虽然很小但却非常实用。你有没有想过,这个功能是如何实现的呢?其实啊,一点儿都不难。只要你学完今天的内容,散列表(HashTable)。你就能像微软Office的工程师一样,轻松实现这个功能。散列思想散列表的英文叫“HashTable”,我们平时也叫它“哈希表”或者“Hash表”。你一定也经常听过它,但是你是不
浊酒南街
·
2023-11-14 09:09
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:散列表上-Word文档中的单词拼写检查功能是如何实现的?(第18讲)...
Word这种文本编辑器你平时应该经常见吧,那你有没有留意过它的拼写检查功能呢?一旦我们在Word里输入一个个错误的英文单词,它就会用标红的放式提示“拼写错误”。Word的这个单词拼写检查功能,虽然很小但却非常实用。你有没有想过,这个功能是如何实现的呢?其实啊,一点儿都不难。只要你学完今天的内容,散列表(HashTable)。你就能像微软Office的工程师一样,轻松实现这个功能。一、散列思想散列表
weixin_30764137
·
2023-11-09 08:14
数据结构与算法
数据结构与算法之美学习笔记
:17 | 跳表:为什么Redis一定要用跳表来实现有序集合?
目录前言如何理解“跳表”?用跳表查询到底有多快?跳表是不是很浪费内存?高效的动态插入和删除跳表索引动态更新解答开篇内容小结前言本节课程思维导图:二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。我们把改造之后的数据结构叫做跳表(Skiplist)。跳表是一种各方面性能
浊酒南街
·
2023-11-07 17:39
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:16 | 二分查找(下):如何快速定位IP对应的省份地址?
目录前言二分查找的变形问题变体一:查找第一个值等于给定值的元素变体二:查找最后一个值等于给定值的元素变体三:查找第一个大于等于给定值的元素变体四:查找最后一个小于等于给定值的元素解答开篇内容小结前言本节课程思维导图:抛出问题:假设我们有12万条这样的IP区间与归属地的对应关系,如何快速定位出一个IP地址的归属地呢?二分查找的变形问题二分查找的变形问题很多,我只选择几个典型的来讲解,其他的你可以借助
浊酒南街
·
2023-11-07 12:45
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?
目录前言无处不在的二分思想O(logn)惊人的查找速度二分查找的递归与非递归实现二分查找应用场景的局限性解答开篇内容小结前言本节课程思维导图:今天我们讲一种针对有序数据集合的查找算法:二分查找(BinarySearch)算法,也叫折半查找算法。抛出问题:假设我们有1000万个整数数据,每个数据占8个字节,如何设计数据结构和算法,快速判断某个整数是否出现在这1000万数据中?无处不在的二分思想比如说
浊酒南街
·
2023-11-03 07:49
数据结构与算法之美学习笔记
数据结构
算法
数据结构与算法之美学习笔记
:14 | 排序优化:如何实现一个通用的、高性能的排序函数?
目录前言如何选择合适的排序算法?如何优化快速排序?举例分析排序函数前言本节课程思维导图:几乎所有的编程语言都会提供排序函数,比如C语言中qsort(),C++STL中的sort()、stable_sort(),还有Java语言中的Collections.sort()。那你知道这些排序函数是如何实现的吗?底层都利用了哪种排序算法呢?抛出问题:如何实现一个通用的、高性能的排序函数?如何选择合适的排序算
浊酒南街
·
2023-11-03 07:48
数据结构与算法之美学习笔记
算法
数据结构
数据结构与算法之美学习笔记
一
写在前面的话:既然数据结构和算法是作为一个合格的程序员需要跨过的一道坎,一味地逃避终究会带来更多困扰和不自信。那就破釜沉舟,迎刃而上。只有根治方能治心病。所以买了极客时间的数据结构与算法之美这个课程,学习以解心中的困惑。开篇:涅槃重生,跨越数据结构与算法这到坎入门篇时间、空间复杂度是数据结构和算法最重要的概念学习时间、空间复杂度的概念,大O表示法的由来,各种复杂度分析技巧,以及最好、最坏、平均、均
zhipai20
·
2020-09-12 18:07
数据结构与算法
数据结构之递归
本篇是
数据结构与算法之美学习笔记
递归在计算机科学中指一种通过将重复问题分解为同列子问题来解决问题的方法。递归是一种常见的算法或者编程技巧。
chsmy2018
·
2020-09-11 19:25
数据结构与算法
数据结构与算法之美学习笔记
02 - 数组
数组的基本概念1.线性表:线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。非线性表:数据之间并不是简单的前后关系2.连续的存储空间和相同类型的数据一维数组的寻址公式a_address[i]=base_address+i*data_type_size二维数组的寻址公式a[m][n]={}a[i][j]_address=base_address+(i*m+j)*data
小小洪人
·
2020-08-04 17:18
数据结构与算法学习
数据结构与算法之美学习笔记
(5~9章)
第五章数组:为什么很多编程语言中数组都从0开始编号?1.数组的定义数组是一种线性表数据结构,他用一组连续的内存空间,来存储相同类型的数据2.数组为什么可以根据下标随机访问数组元素(这里要注意不根据下标是不能随机访问的啊)假设一个长度为10的int型数组,会分配一块连续内存空间1000~1039,其中,内存块首地址是1000我们可以通过以下公式快速获取到指定下标的元素a[i]_address=bas
踟蹰千年
·
2020-08-04 13:00
#
数据结构(排序
查询)
数据结构与算法之美学习笔记
:数组为什么从0开始编号(第5讲)
一、数组的基本概念数组是一种线性数据结构,它用连续的内训空间,来存储一组局具有相同类型的数据1、线性表第一线性表:顾名思义,线性表就是数据排成像一条线一样的结构,每个线性上的数据最多只有前后两个方向,其实除了数组、链表、队列、栈等也是线性结构而与它相对立的概念是非线性表,比如二叉树、堆、图等,之所以叫非线性,是因为,在非线性表中、数据之间并不是简单的前后关系2、连续的内存空间和相同类型的数据第二个
weixin_30593261
·
2020-07-01 05:37
数据结构之红黑树
此文是
数据结构与算法之美学习笔记
二叉查找树在频繁的动态更新的过程中,可能会出现树的高度很大的情况,从而导致各个操作的效率下降,极端情况下,二叉树会退化为链表,为了解决这种复杂度退化的问题,需要设计一个平衡的二叉查找树
chsmy2018
·
2020-06-24 15:14
数据结构与算法
数据结构与算法之美学习笔记
(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
#
数据结构(排序
查询)
数据结构与算法之美学习笔记
:03 ~ 05
本文是极客时间推出的数据结构与算法之美课程的学习笔记复杂度分析:1.数据结构和算法解决的是“如何让计算机更快时间、更省空间的解决问题”2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系为什么要进行复杂度分析:1.和性能测试相比,复杂度分析有不依赖执行
EnigmaJJ
·
2020-01-08 04:21
数据结构之散列表
此文是
数据结构与算法之美学习笔记
散列表英文名叫“HashTable”,也叫哈希表或者Hash表。它利用数组支持按照下标随机访问的特性,所以散列表其实是数组的一种扩展,由数组演化而来。
chsmy2018
·
2019-01-22 13:09
数据结构与算法
数据结构之排序
本篇是
数据结构与算法之美学习笔记
排序在在平时的开发中会经常用到,排序的算法也有很多,冒泡排序、插入排序、选择排序、归并排序,开旭排序、计数排序、基数排序、桶排序等。
chsmy2018
·
2019-01-16 15:28
数据结构与算法
数据结构之跳表
本篇是
数据结构与算法之美学习笔记
上一篇据结构之二分查找中我们知道二分查找底层依赖的是数组随机访问的特性,所以只能使用数组实现,不能再链表中实现。那链表可不可以支持类似的二分查找呢?
chsmy2018
·
2019-01-16 11:41
数据结构与算法
数据结构之数组
本篇是
数据结构与算法之美学习笔记
每一种编程语言中基本都有数组。数组的定义:数组(array)是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。
chsmy2018
·
2019-01-04 09:14
数据结构与算法
上一页
1
下一页
按字母分类:
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
其他