![](https://img-blog.csdnimg.cn/20191219143810530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
「三分钟系列」数据结构与算法
文章平均质量分 94
每天3分钟,美针对计算机科学中的数据结构与常见算法如排序、递归等,用简短而通俗易懂的语言和例子进行讲解
图灵的猫.
给行业以ai,而不是给ai以行业
展开
-
「三分钟系列07」3分钟看懂哈夫曼树与哈夫曼编码
1、基本概念 哈夫曼树又称最优二叉树。它是 n 个带权叶子结点构成的所有二叉树中,带权路径长度 WPL 最小的二叉树。 如下图为一哈夫曼树示意图。 2、构造哈夫曼树 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); ...原创 2018-03-01 20:20:54 · 633 阅读 · 0 评论 -
「三分钟系列06」3分钟看懂http与https的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安...原创 2018-03-24 21:12:02 · 326 阅读 · 0 评论 -
「三分钟系列05」3分钟看懂并发与并行
并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。并发和并行都可以是很多个线程,就看这些线程能不能同时被(多个)cpu执行,如果可以就说明是并行,而并发是多个线程被(一个)cpu 轮流切换着执行。 有个有趣的说法是这样比喻的: 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半,电话来了,你停了下来接...原创 2018-04-06 21:30:55 · 1292 阅读 · 3 评论 -
「三分钟系列03」3分钟看懂什么是三次握手/四次挥手
而在这个连接建立,并释放后,第一次发送的,阻滞在网络中的报文到达了服务器,服务器以为是客户端又重新发送了一个连接请求(实际上在客户端那里,该连接早已失效),就又向客户端发送一个确认,但客户端认为他没有发送该请求报文,因此不理睬服务器发送的确认,而服务器以为又建立了一个新的连接,于是一直等待A发来数据,造成了服务器资源的浪费,并且会产生安全隐患。如果你喊了一句,半天没听到妹子回复,你会很低落,好比谈恋爱的时候,你满腔热情,而妹子忽冷忽热,所以你锲而不舍,一次不行,就两次,两次不行就三次,这就是tcp重传。原创 2018-03-27 19:27:18 · 4211 阅读 · 2 评论 -
「三分钟系列02」3分钟看懂最高效的快速排序分析与优化
——“随机化快速排序可以满足一个人一辈子的人品需求。” 快速排序是一种很高效且有多种优化方法的排序算法,具体的介绍和实现在我的专栏01.其实我之前只知道快速排序的平均时间复杂度为O(n×log(n)),却不知具体原因,今天抽空证明一下,内容主要来自《算法导论》。 首先再介绍一遍快排的思想: 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分...原创 2018-02-23 21:58:04 · 1713 阅读 · 0 评论 -
「三分钟系列01」3分钟看懂快速排序
排序算法千千万,只有快排的性能和优化后的泛化性质最好,在介绍快速排序前,先看看这张排序天梯图: 什么是快速排序? 快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。快速排序简单的说就是选择一个基准,将比起大的数放在一边,小的数放到另一边。对这个数的两边再递归上述方法。 思想: 1.待排序的元素任取一个元素作为基准...原创 2018-02-23 21:51:20 · 1595 阅读 · 0 评论