队列 Queue
本章介绍了队列 (Queue) 数据类型,并实现了队列的抽象数据类型 (Queue ADT) 。并基于数组和链表分别实现了队列、循环队列和双端队列。由于队列的先进先出性 (FIFO) 能够实现很多应用,本章介绍了两个实际问题的应用:1. 使用队列实现杨辉三角;2. 使用栈+回溯法实现了迷宫问题的路径寻找、使用队列+洪水算法实现了迷宫问题的最短路寻找。
Linux 操作系统:重定向和通配符扩展
本章介绍了 Linux 操作系统中的重定向和通配符扩展:包括 `cat` 和 `split` 命令以及管道 `|` 的使用;有关通配符 `?, *, [abc]` 等的使用,快速查找文件内容和处理命令输入输出。
栈 Stack 和回溯法 Backtracking
本章介绍栈数据类型,包括栈的概念、如何用 Python 实现栈(数组、链表)、栈的实际使用(数据逆置、匹配问题、算数计算原理、函数调用等原理)以及回溯法的概念和使用,包括常见案例(全排列、子集问题、求和谜题以及著名的 N 皇后问题)。
统计软件 R 语言学习笔记 (4) R 语言初步:自定义函数、简单模拟与数据清洗
本章介绍 R 语言的函数定义方法,以及进行统计模拟、数据清洗的方法。`function` 关键字自定义函数;`r*` `p*` `d*` `q*` 分别进行各种分布的模拟;`sample` 函数进行简单随机抽样;数据清洗包括了缺失数据处理、按行排序、选取/删除部分数据、添加变量/特征和合并数据集操作。
链表 (2) 含有位置信息的链表、链表的插入排序和 More-To-Front 启发式算法
在单向链表、循环链表和双向链表的基础上,引入位置信息,定义基于链表的位置列表数据类型,并基于链表实现了插入排序。
链表 (1) 单向链表、循环链表与双向链表 Linked List
本周讲解的链表实现了栈、队列、双端队列三种数据结构。它们的特点就是:可以在头部或者尾部进行插入或删除操作,无法在任意位置进行耗时为常数的操作。
Linux 操作系统:文件系统
Linux 文件系统:路径名、目录 (`pwd, cd`) 、文件系统组织方式 (inode) 、文件和目录查看 (`touch, ls, tree`) 、文件和目录操作 (`mkdir, rmdir, cp, mv, rm`) 和 Linux 的目录结构。
数组 Array
本文介绍了低层次数组的原理,并自定义实现了 Python 的一个动态数组。并详细分析了底层存储原理、摊销时间。分析了一些基于数组的案例,例如插入排序算法。同时指出了组成字符串和多维数组创建的常见误用。
统计软件 R 语言学习笔记 (3) R 语言初步:基本运算、常见操作和控制流
本章介绍了 R 语言中常见的运算和操作(例如索引),以及针对不同数据类型的不同操作函数(例如 apply 函数)。同时介绍了 R 语言控制流(if-else 条件执行、for while repeat 循环结构)的实现。
Linux 操作系统:命令帮助和快捷使用
本文介绍了在 Linux 系统中如何查找相关命令和命令的帮助文档。如何命名和管理命令的别名以及一些组合键的使用。