车斌的博客

专注,重复10遍


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

第11章-基于结点的数据结构

发表于 2018-06-12 | 更新于 2020-05-31 | 分类于 算法
本文字数: 10k | 阅读时长 ≈ 9 分钟

思考并回答以下问题:

  • 数组和链表有什么区别?
  • 什么是链表?什么是结点?什么是链?每个结点需要几个格子?
  • 链表的第一个节点有什么作用?
  • 链表的物理结构与数组不同怎么理解?链表相对数组有什么好处?
  • 用一种语言来实现链表。写链表需要两个类,哪两个?为什么?
  • 链表的读取和查找如何进行?是什么时间复杂度?
  • 链表的开头插入和末尾插入如何进行?是什么时间复杂度?
  • 什么场景适合使用链表?链表在删除操作中有优势,也是可实际使用的地方。怎么理解?
  • 链表的另一个引人注目的应用,就是作为队列的底层数据结构。为什么?
  • 什么是双向链表?
阅读全文 »

第10章-飞快的递归算法

发表于 2018-06-11 | 更新于 2020-05-23 | 分类于 算法
本文字数: 8.8k | 阅读时长 ≈ 8 分钟

思考并回答以下问题:

  • 为什么大多数编程语言都使用快速排序?
  • 快速排序依赖于一个名为分区的概念。怎么理解?
阅读全文 »

第9章-递归

发表于 2018-06-10 | 更新于 2020-01-07 | 分类于 算法
本文字数: 6.7k | 阅读时长 ≈ 6 分钟

思考并回答以下问题:

  • 什么是递归?递归适用于什么场景?
  • 几乎所有循环都能够转换成递归怎么理解?
  • 什么是基准情形?
  • 如何阅读递归代码?
  • 什么是调用栈?递归发生时内存是怎么处理的?
  • 计算机处理3的阶乘的过程是什么样的?
  • 什么是栈溢出,为什么会发生?
阅读全文 »

第8章-用栈和队列来构造灵巧的代码

发表于 2018-06-05 | 更新于 2020-01-07 | 分类于 算法
本文字数: 6.4k | 阅读时长 ≈ 6 分钟

思考并回答以下问题:

  • 为什么栈和队列都是处理临时数据的灵活工具?
  • 栈的数据结构是什么样的?应用场景有哪些?
  • 队列的数据结构是什么样的?应用场景有哪些?
阅读全文 »

第7章-查找迅速的散列表

发表于 2018-06-02 | 更新于 2020-01-07 | 分类于 算法
本文字数: 7.2k | 阅读时长 ≈ 7 分钟

思考并回答以下问题:

  • 散列表是一种什么数据结构?优势在哪里?
  • 为什么查找值只要一步?
  • 什么是散列?什么是散列函数?
  • 散列函数需要满足什么条件?
  • 散列表是如何存储数据的?为什么会产生冲突?
  • 分离链接法是怎么解决冲突的?
  • 散列表的效率取决于什么因素?
  • 什么是负载因子?理想的负载因子是多少?
阅读全文 »

第6章-乐观地调优

发表于 2018-05-31 | 更新于 2020-05-30 | 分类于 算法
本文字数: 6.6k | 阅读时长 ≈ 6 分钟

思考并回答以下问题:

  • 插入排序的第二层为什么是while循环?
  • 插入排序包含4种步骤:移除、比较、平移和插入。各需要多少步?
  • 用Python和C#实现插入排序。
  • 冒泡排序、选择排序、插入排序都需要双循环吗?
阅读全文 »

第5章-用或不用大O来优化代码

发表于 2018-05-29 | 更新于 2020-05-30 | 分类于 算法
本文字数: 5.6k | 阅读时长 ≈ 5 分钟

思考并回答以下问题:

  • 选择排序算法是怎么样的?是两层循环吗?用js实现选择排序算法。
  • 选择排序的步骤可分为两类:比较和交换,次数分别是什么样?
  • 选择排序比冒泡排序快在哪里?
  • 选择排序的效率如何?
  • 为什么两种算法的大O记法完全一样,但实际上其中一个比另一个要快得多?
  • 大O记法忽略常数是什么意思?
阅读全文 »

第4章-运用大O来给代码提速

发表于 2018-05-28 | 更新于 2020-05-30 | 分类于 算法
本文字数: 7.3k | 阅读时长 ≈ 7 分钟

思考并回答以下问题:

  • 冒泡排序为什么叫冒泡排序?冒泡排序的大O记法是什么?为什么?
  • 冒泡排序的执行步骤是哪两步?图是什么样的?也叫作什么?
  • 嵌套循环算法的效率是怎么样的?
  • 检查数组中是否有重复值怎么进行线性解决?
阅读全文 »

第3章-大O记法

发表于 2018-05-27 | 更新于 2020-05-30 | 分类于 算法
本文字数: 5.1k | 阅读时长 ≈ 5 分钟

思考并回答以下问题:

  • 什么是大O记法?解答的是什么样的问题?
  • O(1)是什么意思?有哪些算法是O(1)?
  • O(N)是什么意思?哪些算法是O(N)?
  • O(1)和O(N)分别又叫做什么?
  • 线性查找的最好情况是O(1),最坏情况是O(N)如何理解?大O记法一般都是指最坏情况如何理解?
  • 二分查找的大O记法是什么样的?也叫作什么?
  • 什么是对数和指数?
  • O(log N)算法是什么意思?
  • O(1)、O(log N)、O(N)的效率比较是什么样的?在图中如何表示?
阅读全文 »

第2章-算法为何重要

发表于 2018-05-26 | 更新于 2020-05-30 | 分类于 算法
本文字数: 4.6k | 阅读时长 ≈ 4 分钟

思考并回答以下问题:

  • 有序数组和普通数组在线性查找方面有什么不同?
  • 有序数组还可以使用什么查找方法?为什么普通数组无法使用?
  • 有序数组在插入方面和普通数组有什么区别?谁快谁慢?
  • 用Python或Ruby代码实现线性查找和二分查找。
阅读全文 »
1…464748
Chebin

Chebin

记录自己的学习过程
472 日志
14 分类
68 标签
近期文章
  • Laravel Database-Eloquent Model源码分析(下)
  • Laravel Database-Eloquent Model源码分析(上)
  • 第11章 接下来如何做
  • 第10章 K最近邻算法
  • 第9章 动态规划
© 2018 – 2020 Chebin | 站点总字数: 5m | 站点阅读时长 ≈ 76:11
由 Hexo 强力驱动
|
主题 – NexT.Pisces
0%