算法1_教程

算法+数据结构(第02篇)玩扫雷就是优化算法

duchaochen阅读(738)评论(0)赞(0)

原文地址 引言 上篇文章介绍了算法的本质和基本概念《算法+数据结构(第01篇)走下神坛吧!算法》,这次我们用实际的问题来做算法实战。 假设如下场景: 公司新年晚会进行夺宝游戏,奖品是最新款的智能手机、VR游戏机、便携电脑三件套。 游戏规则如...

算法素颜(第03篇):KO!大O——时间复杂度

duchaochen阅读(649)评论(0)赞(0)

引言 在本系列第1篇《走下神坛吧!算法》中提到了:计算复杂度分为时间复杂度与空间复杂度。本篇文章来讲讲时间复杂度。 如何度量时间复杂度 时间复杂度由所消耗的时间决定。所消耗的时间由硬件与软件共同决定。在同一硬件条件下,所消耗的时间由软件决定...

算法+数据解构(第04篇)空间复杂度你真的懂了吗?

duchaochen阅读(599)评论(0)赞(0)

在本系列第1篇《走下神坛吧!算法》中提到了:计算复杂度分为时间复杂度与空间复杂度,第3篇《KO!大O——时间复杂度》详细介绍了时间复杂度,本篇文章来讲讲空间复杂度。 空间复杂度和硬件资源开销是一回事情吗? CPU资源开销分析: CPU的资源...

算法+数据结构(第05篇)走下神坛吧!算法

duchaochen阅读(630)评论(0)赞(0)

引言 在本系列第一篇文章[《走下神坛吧!算法》中提到了: 算法的作用对象是数据结构 数据结构的来源既有硬件维度也有软件维度 把项目或者工程看作是大楼的话,那么算法就是建造大楼的具体施工流程和方法,数据结构就是砖块等原材料。 常言道:“工欲善...

数据结构+算法(第06篇):再不会“降维打击”你就Out了!

duchaochen阅读(643)评论(0)赞(0)

引言 刘慈欣的《三体》不仅让中国的硬科幻登上了世界的舞台,更是给广大读者普及了诸如“降维打击”之类的热门概念。 “降维打击”之所以给人如此之震撼,在于它以极简的方式,从更高的、全新的技术视角有效解决了当前困局。 那么在算法的世界中,是否存在...

数据结构+算法(第08篇):史上最猛之递归屠龙奥义

duchaochen阅读(595)评论(0)赞(0)

本系列的第6篇《再不会“降维打击”你就Out了!》讲述了递归算法的意义、套路,第7篇《神力加身!动态编程》讲述了递归算法的优化,但是在大量的实际项目、工程和大家关心的求职面试中,却会碰到大量消除递归的需求。于是产生了两个问题: 1....

数据结构+算法(第09篇):菜鸟也能“种”好二叉树!

duchaochen阅读(611)评论(0)赞(0)

>引言 在本系列第5篇《小白也能玩转数组和链表啦!》中,给出了常用数据结构的全貌图: 本文就来讲讲“树”这个数据结构。 1. 树的本质是什么? 本系列第2篇《扫雷还可以这样玩》中提到了算法问题的基本类型——搜索、排序、规划、计算。其...

数据结构+算法(第10篇)叉堆“功夫熊猫”的速成之路

duchaochen阅读(561)评论(0)赞(0)

引言 上一篇文章《菜鸟也能“种”好二叉树!》提到:树是一种分层分类的数据结构,用途是查找和排序。而与查找和排序密切相关的就是求最值(最大值或者最小值)。今天我们就来介绍一个与最值相关的数据结构——二叉堆。 尽管网上或者相关的算法书均有对二叉...