前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >刷爆Leetcode!字节算法大佬进阶专属算法笔记:GitHub标星97k+

刷爆Leetcode!字节算法大佬进阶专属算法笔记:GitHub标星97k+

作者头像
愿天堂没有BUG
发布2022-10-28 11:42:46
5520
发布2022-10-28 11:42:46
举报
文章被收录于专栏:愿天堂没有BUG(公众号同名)

数据结构与算法

数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。 数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

数据结构与算法的关系

程序=算法+数据结构。算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。所以说,数据结构是算法实现的基础,算法总是要依赖某种数据结构来实现的。算法的操作对象是数据结构。两者是相辅相成的存在,是不可分割的关系。

好啦,接下来和小轩一起来看看算法的其中奥妙吧。

由于文章篇幅受限,部分内容只能以截图的方式展示出来,需要完整版的小伙伴可以后台私信【学习】或【笔记】获取。

其次,我们来看一下内容:

内容涵盖15大章节:综述,数组,简单排序,栈和队列,链表,递归,高级排序,二叉树,红-黑树,2-3-4树和外部存储,哈希表,堆,图,带权图,应用场合,共30W字。

综述

第Ⅰ章“综述”,给读者一个各主题的总体印象并介绍少量后面要用到的术语。对于那些面向对象编程不太熟悉的读者,本章总结了一些相关的知识。对于那些知道C++而不熟悉Java的程序员,本章对这两种语言的主要差别进行了描述。

数组

第⒉章“数组”。集中讨论数组。这里面包含有两层意思:如何使用类来对数据存储结构进行封装和类的接口。其中包括数组和有序数组的查找、插入、删除、线性查找和二分查找。专题 apple通过对无序和有序的数组进行操作来解释上述算法。

简单排序

第3章“简单排序”介绍三种简单的(但是慢速的)排序方法:冒泡排序、选择排序和插入排序。每一种排序都有一个相应的专题applet.

栈和队列

第4章“栈和队列”涉及到三种可以被认为是抽象数据类型(ADT)的数据结构:栈、队和优先级队列。这些结构在本书中大量重复出现,是许多算法的基础。每一种结构都有一个相应的专题applet.ADT的概念也会在本章中讨论。

链表

第5章“链表”介绍了链表中的双向链表和双端链表。本章还解释了Java中被称作“无痛指针”的使用,并用一个专题applet演示了链表的插入、查找和删除是如何进行的。

递归

第6章“递归”探索了递归的知识,这是书中仅有的非数据结构的几章之一。本章给出了大量的递归例子,包括汉诺塔问题和归并排序,它们都有相应的专题applet。

高级排序

第7章“高级排序”研究了几种高级的排序方法:希尔排序和快速排序。专题applet演示了希尔排序,快速排序的基础—划分( partitioning)和两种形式的快速排序。

二叉树

第8章“二叉树”开始了对树的探索。本章中介绍了最简单最通用的树型结构:不平衡的二叉搜索树。一个专题applet演示了此类树的插入、别除和遍历是如何进行的。

红-黑树

第9章“红-黑树”解释了红-黑树,它是最有效的平衡树之一。专题applet 演示了平衡这种树所需的旋转和颜色转换。

2-3-4树和外部存储

第10章“2-3-4树和外部存储”将2-3-4树作为多叉树的一个例子进行了讲解。专题applet 会演示它们是如何工作的。我们还将讨论2-3树和2-3-4树与B树的关系,这些知识对于存储外部(磁盘)的文件十分有用。

哈希表

第11章“哈希表”转到哈希表这个新的讨论领域。专题applet演示了几种方法:线性、二次探测和再哈希及链接地址法。本章中还讨论了哈希表方法在组织外部文件方面的应用。

第12章“堆”讨论了一种特殊的树——堆,用它作为优先队列的一种有效的实现手段。

图与带权图

第13章“图”和第14章“带权图”处理图的相关问题,前者处理未加权图和简单地查找算法,后者处理未加权图和更加复杂的算法,如最小生成树和最短路径。

应用场合

第15章“应用场合”总结了前几章描述过的各种数据结构,还着重讨论了如何在给定情况下用合适的数据结构的问题。

好啦,今天的分享就到这啦。我们下次再见!

由于文章篇幅受限,部分内容只能以截图的方式展示出来,需要完整版PDF的小伙伴可以点赞+转发,关注我后私信【学习】获取。

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 愿天堂没有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据结构与算法
  • 数据结构与算法的关系
  • 综述
  • 数组
  • 简单排序
  • 栈和队列
  • 链表
  • 递归
  • 高级排序
  • 二叉树
  • 红-黑树
  • 2-3-4树和外部存储
  • 哈希表
  • 图与带权图
  • 应用场合
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档