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
数据结构与算法之美
数据结构与算法之美
—— 如何实现LRU缓存淘汰算法?(总结)
链表与数组链表定义:百度百科数组定义:百度百科总结:链表和数组最大差别是在内存空间结构上,连续(数组)和可非连续(链表)。数组通过内存地址和下标可以快速找到内存存储位置,链表是通过节点(指针)指向前后的地址一个个去查找。电影座位比喻:数组:一排座位标注了有顺序的123..编号。链表:每个座位位置上记录了下个和上个位置的坐标。查找:数组座位:数组来的直接,可以数数找位置,不用一个一个看。链表座位:我
先生爱喝咖啡
·
2023-08-24 09:36
《
数据结构与算法之美
》31——贪心算法
什么是贪心算法贪心算法(英语:greedyalgorithm),又称贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。——维基百科贪心算法与动态规划的不同在于它对每个子问题的解决方案都做出选择,不能回退。动态规划则会保存以前的运算结果,并根据以前的结果对当前进行选择,有回退功能。实际上,贪心算法适用的场景比较有限。这种算法思想更多的是
大杂草
·
2023-08-14 14:41
数据结构与算法之美
(一)开篇&导读
开篇词|从今天起,跨过“数据结构与算法”这道坎基础知识就像是一座大楼的地基,它决定了我们的技术高度。想要快速深入一个领域,前提条件一定是基础足够扎实。专栏设计:1.从多本书籍和多年项目经验中,选取最实用的内容讲解2.让学员知其然并且知其所以然,捋清楚其设计思想,以培养举一反三的能力3.结合真实案例讲解,让学员学会将数据结构与算法应用到实际的编码中4.由浅入深分成四个递进的模块:1.入门篇:时间、空
sssummerr
·
2023-08-02 21:03
《
数据结构与算法之美
》08——排序(一)冒泡排序、插入排序、选择排序
如何分析一个“排序算法”从三个维度进行评价和分析:1.排序算法的执行效率最好情况、最坏情况、平均情况时间复杂度时间复杂度的系统、常数、低阶比较次数和交换(或移动)次数2.排序算法的内存消耗用空间复杂度来衡量。原地排序算法,特指空间复杂度是O(1)的排序算法。3.排序算法的稳定性稳定的排序算法:相同元素的前后顺序没有改变的排序算法反之叫不稳定的排序算法。冒泡排序冒泡排序只会操作相邻的两个数据。每次冒
大杂草
·
2023-07-22 20:55
关于贪心算法的一个小结
下面的内容主要参考了
数据结构与算法之美
。
纸上得来终觉浅 绝知此事要躬行
·
2023-07-20 16:39
贪心算法
算法
我是怎么学习《
数据结构与算法之美
》的?
我在这里分享一下我的学习思路,我将这个看起来困难的过程分成了几部分来完成。第一部分,数据结构和算法的基础知识部分。如果在大学学过这⻔课,在专栏里,你会看到很多熟悉的描述。有些基础比较好的同学会质疑写这些知识的必要性。这大可不必,因为每个人的基础不一样,为了专栏内容的系统性和完整性,老师肯定要把这些基础知识重新讲述一遍的。对于这一部分内容,如果你的基础比较好,可以像学其他课程一样,在上下班或者午休的
爱运动爱学习
·
2023-07-14 23:36
大数据处理 面试题小结
以下来自
数据结构与算法之美
:假设我们有10万条URL访问日志,如何按照访问次数给URL排序?
纸上得来终觉浅 绝知此事要躬行
·
2023-06-20 04:07
数据结构
算法
【
数据结构与算法之美
】学习笔记 Day9 动态规划(DP)的实现及关键
文章目录一、分治+回溯+递归+动态规划1)本质2)关键点二、感触1)人肉递归低效、很累2)找到最近最简方法,将其拆解成可重复解决的问题3)数学归纳法思维(抵制人肉递归的诱惑)三、算法本质四、动态规划(DynamicProgramming)1)动态规划Wiki定义2)动态规划原理3)动态规划的实际组成五、DP突破口六、斐波那契数列参考一、分治+回溯+递归+动态规划1)本质这几个算法,本质上,就是“将
littleFuBaby
·
2023-06-17 16:15
算法
学习
动态规划
算法
【
数据结构与算法之美
】学习笔记 Day10 哈希表(Hash Table)的实现与特性
文章目录一、哈希表(HashTable)二、工程实践三、HashFunction哈希函数四、HashCollisions哈希冲突五、JavaMap实现Map定义常见子类HashMapJDK11代码结构TreeMapJDK11代码结构HashtableJDK11代码结构ConcurrentHashMapJDK11代码结构LinkedHashMapJDK11代码结构PropertiesJDK11代码结
littleFuBaby
·
2023-06-17 16:15
算法
散列表
学习
哈希算法
【
数据结构与算法之美
】学习笔记 Day10 贪心的实现、特性
文章目录一、Greedy贪心算法(1)本质(2)局限二、适用贪心算法的场景(1)判断依据(2)最佳做法三、贪心算法的应用四、贪心、回溯、动态规划的区别(1)贪心算法(2)回溯(3)动态规划五、扩展理解一、Greedy贪心算法(1)本质贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法(2)局限“只关注当下,不着眼于未来”“处处利己,全
littleFuBaby
·
2023-06-17 16:15
算法
学习
贪心算法
算法
《
数据结构与算法之美
》笔记 — 链表
个人博客首发:https://wubobo952.github.io/如何快速写出正确的链表代码技巧一:理解指针或引用的含义指针也可以理解为“引用”。将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量。技巧二:警惕指针丢失和内存泄漏插入,删除时需警惕反例:这样就让原本p指向的下一个结点断开了,这样操作会
波波维奇c
·
2023-06-14 00:24
数据结构与算法之美
| 排序(3)
线性排序(Linearsort)桶排序(Bucketsort)基本思想:将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。桶排序常常用在外部排序[^1]中。我们有10GB的订单数据,我们希望按订单金额(假设金额都是正整数)进行排序,但是我们的内存有限,只有几百MB,没办法一次性把10GB的数据都加载到内存中。
是希望
·
2023-06-12 16:31
排序算法
桶排序
计数排序
基数排序
复杂度分析(大O表示法)
复杂度分析前文提要本文完完全全引用极客时间的文章《
数据结构与算法之美
》,作者王争。
聋
·
2023-06-12 06:36
数据结构与算法之美
| 排序(1)
排序算法:分析学会如何评价、分析一个排序算法对于其学习和在实际场景中的运用至关重要。执行效率最好情况、最坏情况和平均情况时间复杂度对于要排序的数据,有的接近有序,有的完全无序。有序度不同的数据,对于排序的执行时间肯定是有影响的,我们要知道排序算法在不同数据下的性能表现时间复杂度的系数、常数和低阶1)时间复杂度反映的是数据规模N很大的时候的一个增长趋势,所以可以忽略;2)但是在实际开发场景中,面对数
是希望
·
2023-06-12 00:16
排序算法
算法
数据结构
排序分析
数据结构与算法之美
| 排序(2)
归并排序(MergeSort)基本思想:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。defmerge_sort(array):'''使用归并排序算法对数组进行排序参数:array(list):待排序数组返回值:array(list):已排序数组'''ifarrayisNone:return[]iflen(ar
是希望
·
2023-06-12 00:16
排序算法
快速排序
归并排序
数据结构
排序分析
数据结构与算法之美
| 栈
栈结构:后进者先出,先进者后出栈是一种“操作受限”的线性表当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,这时我们就应该首选“栈”这种数据结构栈的实现使用数组实现:顺序栈classArrayStack:"""使用数组实现一个顺序栈"""def__init__(self):'''初始化顺序栈参数:无返回值:无'''self.items=[]defpush(self,ite
是希望
·
2023-06-12 00:45
栈
数据结构
顺序栈
链表栈
动态规划理论
学习笔记,来自
数据结构与算法之美
动态规划问题的特点:符合一个模型,三个特征一个模型:多阶段决策最优解模型三个特征:最优子结构我们可以通过子问题的最优解,推导出问题的最优解。
RainingMan
·
2023-04-21 04:28
【学习计划】《
数据结构与算法之美
》学习计划
《
数据结构与算法之美
》学习计划基础篇:常用,26节/38讲10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法
歧泽风
·
2023-04-18 17:06
极客时间优惠
自己第一门买的课是目前极客时间销量最高的课,王争大佬的「
数据结构与算法之美
」,自己刚上研究生时候买的,有一说一,绝对是超值的,自己也一直
windliang
·
2023-04-18 01:56
极客时间专栏:
数据结构与算法之美
学习内容来自前Google工程师—王争专栏广义讲数据结构就是存储数据的结构。算法是操作数据的一组方法数据结构为算法服务,数据结构有特定的算法孤立存在的数据结构没有用是什么,为什么,怎么做首先要掌握一个数据结构与算法中最重要的概念——复杂度分析。所以,如果你只掌握了数据结构和算法的特点、用法,但是没有学会复杂度分析,那就相当于只知道操作口诀,而没掌握心法。只有把心法了然于胸,才能做到无招胜有招!10
CHR_YTU
·
2023-04-17 00:49
数据结构与算法
《
数据结构与算法之美
》18——哈希算法(二)分布式应用
前言上一节我们讲了哈希算法的四个应用,分别是安全加密、数据校验、唯一标识、散列函数。今天再来看看剩下的三个应用:负载均衡、数据分片、分布式存储。可能大家已经发现了,这三个应用都是与分布式相关的。没错,今天我们来学习一下,哈希算法是如何解决这些分布式问题的。应用五:负载均衡负载均衡算法有很多,比如轮询、随机、加权轮询等。那如何实现一个会话粘滞(sessionsticky)的负载均衡算法呢?也就是说,
大杂草
·
2023-04-13 12:33
数据结构与算法之美
-归并排序
MergeSort-归并排序核心:归并排序是采用分治法的一个非常典型的应用。归并排序的分析归并排序的思想就是先递归分解数组,再合并数组。归并排序分解图将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取后相应指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。合并过程先写出归并排序递推公式递推公式:merge_sort(
魏鹏飞
·
2023-04-04 12:11
My学习计划
30wordsaday4.1-4.8每日蓝桥5题4.10开始每日力扣2题5.1开始每日一章《
数据结构与算法之美
》第6周:结束面向对象下,预习javaFX3.31学完接口,内部类,lambda。
RealmElysia
·
2023-04-01 05:03
学习
数据结构与算法之美
(十三)字符串匹配算法
目录字符串匹配算法介绍字符串匹配算法分类BF算法RK算法思考题BM算法坏字符规则好后缀规则KMP算法好前缀规则Trie树AC自动机字符串匹配算法介绍字符串匹配算法就是将从一个字符串(主串,长度为n)中匹配出指定的字符串(模式串,长度为m)。字符串查找函数比如Python中的find()函数、word里的查找替换等,底层依赖的就是字符串匹配算法。字符串匹配算法分类单模式串匹配:在一个字符串中查找一个
雪糕cool
·
2023-03-30 22:10
数据结构与算法之美
数据结构
链表
算法
代码复杂度分析——时间、空间复杂度
最近练习算法题,又看了极客时间中的《
数据结构与算法之美
》写的真不错,于是总结一下关于复杂度的知识,代码和图片都是课程里面的。虽然是按课程写的,但是自己写一遍最好,否则看过就忘了。
一笑杯莫停
·
2023-03-30 13:03
数据接管与算法
JavaScript
数据结构与算法之美
- 栈内存与堆内存 、浅拷贝与深拷贝
JavaScript
数据结构与算法之美
前言想写好前端,先练好内功。栈内存与堆内存、浅拷贝与深拷贝,可以说是前端程序员的内功,要知其然,知其所以然。
是夜尽天明呀
·
2023-03-28 16:07
《
数据结构与算法之美
》学习笔记-简介
1.何为数据结构与算法?1.1.广义上数据结构就是一组数据的存储结构。算法就是操作数据的一组方法。1.2.狭义上某些著名的数据结构与算法。1.3.数据解决与算法的关系?数据结构和算法是相辅相成,数据解决是为算法服务的,算法要作用在特定的数据结构之上。2.学习的重点2.1.复杂度分析2.2.常用数据结构数组链表栈队列散列表二叉树堆跳表图Trie树2.2.常用算法递归排序二分查找搜索哈希算法贪心算法分
geeklyc
·
2023-03-22 18:51
《
数据结构与算法之美
》笔记—HashMap
先抛出问题,根据问题在源码中寻找答案:1.HashMap默认的初始长度是多少?为什么这么规定?2.HashMap底层的数据结构是什么?3.HashMap为何可以允许键值为空?4.HashMap拓容倍数为什么一定要是2的n次幂5.HashMap是如何计算存储的下标的?6.HashMap是如何扩容的?7.HashMap在扩容的时候是如何解决Hash冲突的HashMap默认的初始长度是多少?为什么这么规
波波维奇c
·
2023-03-22 18:49
数据结构之队列
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-03-21 03:00
数据结构与算法之美
笔记 —— 栈
目录一、使用数组实现一个栈通过动态扩容的数组可以实现一个动态扩容的栈二、栈的复杂度分析1、固定大小栈2、动态扩容栈三、栈的应用:1、栈在函数调用中的应用2、栈在表达式求值中的应用3、栈在括号匹配中的应用4、浏览器的前进、后退功能5、实现整数反转栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,后进先出。当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,这时我们就应
雪人奥特曼Q
·
2023-03-19 14:30
数据结构
算法
栈
数据结构与算法之美
——栈复习
1、课程内容详情可参考“极客时间”上的《
数据结构与算法之美
》课程:08|栈:如何实现浏览器的前进和后退功能?
金斗潼关
·
2023-03-19 14:30
数据结构与算法之美
数据结构
算法
栈
数据结构与算法之美
| 学习笔记05 —— 栈
一、栈定义:当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。用数组实现的栈,叫顺序栈;用链表实现的栈,叫链式栈。顺序栈的实现://基于数组实现的顺序栈publicclassArrayStack{privateString[]items;//数组privateintcount;//栈中元素个数privateintn;//栈的大小//初始化
一大桃
·
2023-03-19 14:57
数据结构
数据结构
栈
《
数据结构与算法之美
》笔记——栈
一、什么是栈?1.后进者先出,先进者后出,这就是典型的“栈”结构。2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在一端插入和删除数据。二、为什么需要栈?栈是一种操作受限的数据结构,其操作特性用数组和链表均可实现。但是,任何数据结构都是对特定应用场景的抽象,数组和链表虽然使用起来更加灵活,但却暴露了几乎所有的操作,难免会引发错误操作的风险。所以,当某个数据集合只涉及在某端插入和删除数据,
shiinerise
·
2023-03-19 14:56
数据结果与算法之美
栈
栈的应用
python链栈
python顺序栈
《
数据结构与算法之美
》32——分治算法
如何理解分治算法分治算法(divideandconquer)的核心思想就四个字:分而治之,就是将原问题划分成n个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,然后再合并其结果,就得到原问题的解。这个定义看起来有点类似递归的定义。分治和递归的区别是,分治算法是一种处理问题的思想,递归是一种编程技巧。实际上,分治算法一般比较适合用递归来实现。分治算法的递归实现中,每一层递归都会涉及三个
大杂草
·
2023-03-14 06:27
数据结构之二叉搜索树
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-03-13 00:19
数据结构之二叉树
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-02-04 08:49
数据结构之二分查找的概念
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-02-01 07:54
《
数据结构与算法之美
》- 数组
1.基础1.1.定义数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储相同类型的数据。1.2.时间复杂度1.2.1.查询当计算给每个内存单元分配一个地址,计算机通过地址来访问数据。寻址公式如下:a[i]_address=base_address+i*data_type_sizearr[i]首地址=数组内存块首地址+数据类型大小*i,其中i为偏移量base_address:内存块
geeklyc
·
2023-01-31 21:04
数据结构之链表
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-01-30 18:38
数据结构与算法之美
学习记录二(抓住重点,高效学习)
该文章作为自己学习数据结构和算法之美的学习笔记二,如何抓住重点,系统高效地学习。1、什么是数据结构,什么是算法数据结构就是一组数据的存储结构,然后算法就是操作这一组数据的方法。就如图书馆存储图书,图书管理员会将书籍分门别类的进行“存储”。按照规则将图书规律编号就是书籍这种数据的存储结构。我们在图书馆查找一本书,我们按照这本书的类别,来定位书架,然后再依次查找,这个查找方法就是算法。现在我们需要学习
wmd看海
·
2023-01-28 18:17
数据结构之数组
(注释:整篇数据结构与算法文集,部分总结于王争的《
数据结构与算法之美
》和李明杰的《恋上数据结构与算法》,加上自己的理解,所以出了这个文集,仅做个人笔记记录所用。
陈盼同学
·
2023-01-28 04:31
数据结构与算法之美
-栈
前言:本篇文章只是记录王争的
数据结构与算法之美
的学习笔记,写下来能强迫自己系统的再过一遍,加深理解。
code_ce
·
2023-01-27 15:40
数据结构与算法之美
_lesson2_复杂度分析
为什么需要复杂度分析?1、事后统计法的局限性:(1)测试结果非常依赖测试环境;(2)测试结果受数据规模的影响很大;我们需要一个不用具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法。这就是时间、空间复杂度分析方法。2、大O复杂度表示法算法的执行效率,粗略地讲,就是算法代码执行的时间。从CPU的角度来看,代码的每一行都执行着类似的操作:读数据-运算-写数据。所有代码的执行时间T(n)与每行代
Jerry_rui_Jerry
·
2023-01-23 20:11
学习
算法
数据结构
数据结构与算法-基础篇-链表
2.链表推荐一个课程:
数据结构与算法之美
(极客时间)1.如何分别用链表和数组实现LRU缓冲淘汰策略?什么是链表?和数组一样,链表也是一种线性表。
z_yemu
·
2023-01-14 06:16
数据结构与算法
链表
指针
数据结构
算法
数据结构与算法之美
笔记(一)复杂度 数组 链表
均摊时间复杂度对一个数据结构进行一组连续操作中,大部分情况下时间复杂度都很低,只有个别情况下时间复杂度比较高,而且这些操作之间存在前后连贯的时序关系,这个时候,我们就可以将这一组操作放在一块儿分析,看是否能将较高时间复杂度那次操作的耗时,平摊到其他那些时间复杂度比较低的操作上。而且,在能够应用均摊时间复杂度分析的场合,一般均摊时间复杂度就等于最好情况时间复杂度。例子:每一次O(n)的插入操作,都会
最 上 川
·
2022-11-27 11:15
数据结构
算法
数据结构与算法之美
笔记(三)排序
排序如何分析一个“排序算法”?排序算法的执行效率1.1最好情况、最坏情况、平均情况时间复杂度1.2时间复杂度的系数、常数、低阶1.3比较次数和交换(或移动)次数排序算法的内存消耗排序算法的稳定性为什么要考察排序算法的稳定性呢?答:在真正软件开发中,我们要排序的往往不是单纯的整数,而是一组对象,我们需要按照对象的某个key来排序。比如有下单时间和商品价格两个属性,对价格排序后还需要在相同价格内保证下
最 上 川
·
2022-11-27 11:15
算法
数据结构
排序算法
数据结构与算法 php pdf,
数据结构与算法之美
(完结)云盘分享_IT教程网
小店已开展代查业务,有任何问题随时联系小店qq1981389505或者微信18451578808教程名称:
数据结构与算法之美
(完结)教程目录:|-总结课讲在实际开发中,如何权衡选择使用哪种数据结构和算法
weixin_39772566
·
2022-11-17 21:29
数据结构与算法
php
pdf
数据结构与算法之美
(01)为什么要学习数据结构和算法?
你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着?尽管计算机相关专业的同学在大学都学过这门课程,甚至很多培训机构也会培训这方面的知识,但是据我了解,很多程序员对数据结构和算法依旧一窍不通。还有一些人也只听说过数组、链表、快排这些最最基本的数据结构和算法,稍微复杂一点的就完全没概念。当然,也有很多人说,自己实际工作中根本用不到数据结构和算法。
MnerX
·
2022-11-11 10:37
数据结构与算法之美
数据结构
算法
《数据结构与算法》学习思考(1)
2020年4月开始,我想重新学习数据结构与算法,就报了一门《
数据结构与算法之美
》的课
谭亮亮coding
·
2022-10-05 07:59
数据结构与算法
数据结构
数据结构与算法之美
-学习笔记(一)
文章目录01|为什么要学习数据结构和算法?02|如何抓住重点,系统高效地学习数据结构与算法?05|数组:为什么很多编程语言中数组都从0开始编号?06|链表(上):如何实现LRU缓存淘汰算法?单链表循环链表双向链表如何基于链表实现LRU缓存淘汰算法留言07|链表(下):如何轻松写出正确的链表代码?哨兵简化实现难度留言板08|栈:如何实现浏览器的前进和后退功能?09|队列:队列在线程池等有限资源池中的
此生辽阔
·
2022-10-05 07:38
数据结构与算法
上一页
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
其他