跳至主要內容
Week1:HomeWork

注意

本系列,你可以在我网站免费学习,但是切勿 copy 分发。本系列为书稿,我的爬虫系统会全天检索。被我找到,我必维权和告之,不死不休。

你学习本系列有问题,可以评论区和加我微信,拉你进交流群。微信:Jiabcdefh

1. A+B 问题

描述

输入A、B,输出 A+B。

说明:在描述这里,会给出试题的意思,以及所要求的目标。


AI悦创原创...大约 6 分钟数据结构与算法数据结构与算法
Week1:Python 基础数据类型和链表

注意

本系列,你可以在我网站免费学习,但是切勿 copy 分发。本系列为书稿,我的爬虫系统会全天检索。被我找到,我必维权和告之,不死不休。

你学习本系列有问题,可以评论区和加我微信,拉你进交流群。微信:Jiabcdefh

你好,我是悦创。

我们先来看看今天要学习的内容:

  • 列表、集合、元组、字典
  • 链表

1. 你真的了解这四个数据类型吗?


AI悦创原创...大约 20 分钟数据结构与算法数据结构与算法
大 O 和大 Θ 表示法的基础理解与证明示例

你好,我是悦创。

理解 big-Θ

首先,你可以把 big-Θ 记号看作一种“夹逼”。意思是说,对于一个算法的时间复杂度,我们知道它不会快得超过一个界限(即下界),但也不会慢得超过另一个界限(即上界)。

用生活中的例子来说,想象你在烹饪。如果我们说炒一个菜需要Θ(10 分钟),那意味着这道菜最快需要 10 分钟,最慢也是 10 分钟。但是,如果我们说做一个完整的晚餐是 O( 1 小时),这意味着无论你怎么做,你最多只会用 1 小时。

例子:证明 (3n2+4n+53n^2 + 4n + 5) 是 (Θ(n2)(\Theta(n^2) )


AI悦创原创...大约 4 分钟数据结构与算法数据结构与算法
21-哈希算法(上):如何防止数据库中的用户信息被脱库?

你好,我是悦创。

还记得 2011 年 CSDN 的“脱库”事件吗?当时,CSDN 网站被黑客攻击,超过 600 万用户的注册邮箱和密码明文被泄露,很多网友对 CSDN 明文保存用户密码行为产生了不满。如果你是 CSDN 的一名工程师,你会如何存储用户密码这么重要的数据吗?仅仅 MD5 加密一下存储就够了吗? 要想搞清楚这个问题,就要先弄明白哈希算法。

哈希算法历史悠久,业界著名的哈希算法也有很多,比如 MD5、SHA 等。在我们平时的开发中,基本上都是拿现成的直接用。所以,我今天不会重点剖析哈希算法的原理,也不会教你如何设计一个哈希算法,而是从实战的角度告诉你,在实际的开发中,我们该如何用哈希算法解决问题。


AI悦创原创...大约 4 分钟数据结构与算法数据结构与算法
10-递归:如何用三行代码找到“最终推荐人”?

你好,我是悦创。

推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多 App 都有这个功能。这个功能中,用户 A 推荐用户 B 来注册,用户 B 又推荐了用户 C 来注册。我们可以说,用户 C 的“最终推荐人”为用户 A,用户 B 的“最终推荐人”也为用户 A,而用户 A 没有“最终推荐人”。

一般来说,我们会通过数据库来记录这种推荐关系。在数据库表中,我们可以记录两行数据,其中 actor_id 表示用户 id,referrer_id 表示推荐人 id。


AI悦创原创...大约 41 分钟数据结构与算法数据结构与算法
09-队列:队列在线程池等有限资源池中的应用

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...小于 1 分钟数据结构与算法数据结构与算法
08-栈:如何实现浏览器的前进和后退功能?

你好,我是悦创。

浏览器的前进、后退功能,我想你肯定很熟悉吧?

当你依次访问完一串页面 a-b-c 之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面 b 和 a。当你后退到页面 a,点击前进按钮,就可以重新查看页面 b 和 c。但是,如果你后退到页面 b 后,点击了新的页面 d,那就无法再通过前进、后退功能查看页面 c 了。

假设你是 Chrome 浏览器的开发工程师,你会如何实现这个功能呢?


AI悦创原创...大约 28 分钟数据结构与算法数据结构与算法
07-链表(下):如何轻松写出正确的链表代码?

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...小于 1 分钟数据结构与算法数据结构与算法
06-链表(上):如何实现 LRU 缓存淘汰算法?

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...小于 1 分钟数据结构与算法数据结构与算法
05-数组:为什么很多编程语言中数组都从0开始编号?

你好,我是悦创。

提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。

是的,在每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。尽管数组看起来非常基础、简单,但是我估计很多人都并没有理解这个基础数据结构的精髓。

在大部分编程语言中,数组都是从 0 开始编号的,但你是否下意识地想过,为什么数组要从 0 开始编号,而不是从 1 开始呢? 从 1 开始不是更符合人类的思维习惯吗?


AI悦创原创...大约 2 分钟数据结构与算法数据结构与算法
04-复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...小于 1 分钟数据结构与算法数据结构与算法
03-复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?

你好,我是悦创。

我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。

其实,只要讲到数据结构与算法,就一定离不开时间、空间复杂度分析。而且,我个人认为,复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。


AI悦创原创...大约 18 分钟数据结构与算法数据结构与算法
02-如何抓住重点,系统高效地学习数据结构与算法?

你好,我是悦创。

你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?实际上,很多人在第一次接触这门课时,都会有这种感觉,觉得数据结构和算法很抽象,晦涩难懂,宛如天书。正是这个原因,让很多初学者对这门课望而却步。

我个人觉得,其实真正的原因是你没有找到好的学习方法,没有抓住学习的重点。实际上,数据结构和算法的东西并不多,常用的、基础的知识点更是屈指可数。只要掌握了正确的学习方法,学起来并没有看上去那么难,更不需要什么高智商、厚底子。


AI悦创原创...大约 16 分钟数据结构与算法数据结构与算法
01-为什么要学习数据结构和算法?
img

你好,我是悦创。

你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着?

尽管计算机相关专业的同学在大学都学过这门课程,甚至很多培训机构也会培训这方面的知识,但是据我了解,很多程序员对数据结构和算法依旧一窍不通。还有一些人也只听说过数组、链表、快排这些最最基本的数据结构和算法,稍微复杂一点的就完全没概念。

当然,也有很多人说,自己实际工作中根本用不到数据结构和算法。所以,就算不懂这块知识,只要 Java API、开发框架用得熟练,照样可以把代码写得“飞”起来。事实真的是这样吗?


AI悦创原创...大约 10 分钟数据结构与算法数据结构与算法
1-3 更多课程学习注意事项

注意事项

语言使用的是 Java;

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...小于 1 分钟数据结构与算法数据结构与算法
开篇词|从今天起,跨过“数据结构与算法”这道坎
img

你好,我是悦创,计算机专业。现在回想起来,本科毕业的时候,我的编程水平其实是很差的。直到工作的时候,一个前辈给了我一本《算法导论》,说你可以看看,对你的编程会很有帮助。

没想到,从此我对算法的“迷恋”便一发不可收拾。之后,我如饥似渴地把图书馆里几乎所有数据结构和算法书籍都读了一遍。

我常常边读边练。没多久,我就发现,写代码的时候,我会不由自主考虑很多性能方面的问题。我写出时间复杂度高、空间复杂度高的垃圾代码越来越少了,算法能力提升了很多,编程能力也有了质的飞跃。得益于此,网易离职后,我直接自由职业做编程一对一,从事编程全栈技术辅导、作业辅导等工作。


AI悦创原创...大约 8 分钟数据结构与算法数据结构与算法
1-2 学习算法和数据结构到底有没有用?

学习算法和数据结构到底有没有用?

  • 数据结构 + 算法 = 程序
image-20220806234858329

我们在学习数据库的时候,肯定也是学过数据库语言的:

select * from AI悦创 where title = "数据结构与算法"

AI悦创原创...大约 3 分钟数据结构与算法数据结构与算法
1-1 欢迎大家来到算法与数据结构的世界

算法与数据结构体系课程

  • 算法与数据结构是所有计算机专业的同学必修课
  • 全面介绍经典算法与数据结构的底层实现

课程内容

排序算法

  1. 插入
  2. 冒泡
  3. 选择
  4. 希尔
  5. 快速
  6. 归并
  7. 堆排序
  8. 计数排序
  9. 桶排序
  10. 基数排序

查找算法

  1. 线性查找
  2. 二分查找

AI悦创原创...大约 3 分钟数据结构与算法数据结构与算法