摘要:
第 7 章 排序算法 7.1 排序算法的介绍 排序也称排序算法(Sort Algorithm), 排序是将一组数据, 依指定的顺序进行排列的过程。 7.2 排序的分类: 内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 外部排序法: 数据量过大, 无法全部加载到内存中, 需要 阅读全文
摘要:
第 6 章 递归 6.1 递归应用场景 看个实际应用场景, 迷宫问题(回溯), 递归(Recursion) 6.2 递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 6.3 递归调用机制 列举两个小案例,回顾一下递归 阅读全文
摘要:
第 5 章 栈 5.1 栈的一个实际需求 请输入一个表达式 计算式:[722-5+1-5+3-3] 点击计算 请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言, 它接收到的就是一个字符 阅读全文
摘要:
第 4 章 链表 4.1 链表(Linked List)介绍 链表是有序的列表, 但是它在内存中是存储如下 链表是以节点的方式来存储,是链式存储 每个节点包含 data 域, next 域: 指向下一个节点. 如图: 发现链表的各个节点不一定是连续存储 链表分带头节点的链表和没有头节点的链表, 根据 阅读全文
摘要:
第 3 章 稀疏数组和队列 3.1 稀疏数组( sparse array ) 3.1.1 先看一个实际的需求 编写的五子棋程序中, 有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据->稀疏数组。 3.1.2 基本介绍 当一个数组中大部分元素为 阅读全文
摘要:
第 2 章 数据结构和算法概述 2.1 数据结构和算法的关系 数据(data)结构(structure)是一门研究组织数据方式的学科, 有了编程语言也就有了数据结构。学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决 程序 = 数 阅读全文
摘要:
第 1 章 内容介绍和授课方式 1.1 数据结构和算法内容介绍 1.1.1 先看几个经典的算法面试题 字符串匹配问题 暴力匹配 [简单, 但是效率低] KMP 算法《部分匹配表》 汉诺塔游戏 八皇后问题 马踏棋盘 马踏棋盘算法也被称为骑士周游问题 会使用到图的深度优化遍历算法(DFS) + 贪心算法 阅读全文