算法+数据结构(第01篇)走下神坛吧!算法
原文:https://blog.csdn.net/jintianyishiyeai/article/details/88628442 引言 在互联网、大数据、人工智能火爆的今天,“算法”这个词几乎妇孺皆知,业已成为“高薪”“牛X”的代名词。...
原文:https://blog.csdn.net/jintianyishiyeai/article/details/88628442 引言 在互联网、大数据、人工智能火爆的今天,“算法”这个词几乎妇孺皆知,业已成为“高薪”“牛X”的代名词。...
原文地址 引言 上篇文章介绍了算法的本质和基本概念《算法+数据结构(第01篇)走下神坛吧!算法》,这次我们用实际的问题来做算法实战。 假设如下场景: 公司新年晚会进行夺宝游戏,奖品是最新款的智能手机、VR游戏机、便携电脑三件套。 游戏规则如...
引言 在本系列第1篇《走下神坛吧!算法》中提到了:计算复杂度分为时间复杂度与空间复杂度。本篇文章来讲讲时间复杂度。 如何度量时间复杂度 时间复杂度由所消耗的时间决定。所消耗的时间由硬件与软件共同决定。在同一硬件条件下,所消耗的时间由软件决定...
在本系列第1篇《走下神坛吧!算法》中提到了:计算复杂度分为时间复杂度与空间复杂度,第3篇《KO!大O——时间复杂度》详细介绍了时间复杂度,本篇文章来讲讲空间复杂度。 空间复杂度和硬件资源开销是一回事情吗? CPU资源开销分析: CPU的资源...
引言 在本系列第一篇文章[《走下神坛吧!算法》中提到了: 算法的作用对象是数据结构 数据结构的来源既有硬件维度也有软件维度 把项目或者工程看作是大楼的话,那么算法就是建造大楼的具体施工流程和方法,数据结构就是砖块等原材料。 常言道:“工欲善...
引言 刘慈欣的《三体》不仅让中国的硬科幻登上了世界的舞台,更是给广大读者普及了诸如“降维打击”之类的热门概念。 “降维打击”之所以给人如此之震撼,在于它以极简的方式,从更高的、全新的技术视角有效解决了当前困局。 那么在算法的世界中,是否存在...
引言 在上篇文章《再不会”降维打击”你就Out了!》中,提到了递归算法的两个局限性。本文给出解决方案——动态编程。如果说”递归算法”是圣剑的话,那么”动态编程”就是圣衣...
本系列的第6篇《再不会“降维打击”你就Out了!》讲述了递归算法的意义、套路,第7篇《神力加身!动态编程》讲述了递归算法的优化,但是在大量的实际项目、工程和大家关心的求职面试中,却会碰到大量消除递归的需求。于是产生了两个问题: 1....
>引言 在本系列第5篇《小白也能玩转数组和链表啦!》中,给出了常用数据结构的全貌图: 本文就来讲讲“树”这个数据结构。 1. 树的本质是什么? 本系列第2篇《扫雷还可以这样玩》中提到了算法问题的基本类型——搜索、排序、规划、计算。其...
引言 上一篇文章《菜鸟也能“种”好二叉树!》提到:树是一种分层分类的数据结构,用途是查找和排序。而与查找和排序密切相关的就是求最值(最大值或者最小值)。今天我们就来介绍一个与最值相关的数据结构——二叉堆。 尽管网上或者相关的算法书均有对二叉...