搜索
搜索是指从元素集合中找到特定元素的算法过程。搜索通常返回 True 或 False, 分别表示元素是否存在;或者返回目标元素的位置。
顺序搜索
存储于列表等集合中的元素彼此存在线性或顺序的关系,每个元素的位置与其他元素相关。在 Python 列表中,元素的位置就是它的下标。因为下标是有序的,所以能够顺序访问,由此可以进行顺序搜索。
递归(Recursion)是解决问题的一种方法,它将问题不断地分成更小的子问题,直到问题可以用普通的方法解决。通常情况下,递归会使用一个不停调用自己的函数。
用递归解决汉诺塔问题:
对于某种数据集合,一旦某个元素被添加进来,它与前后元素的相对位置保持不变,这样的数据集合就被称为线性数据结构。
线性数据结构可以看做有两端。这两段可以被称为”左端””右端”,有时候也被称为”前端””后端”或者”顶端””底端”。
栈有时候也被称为”下推栈”,是一个有序集合。添加操作和移除操作总发生在顶端。栈是后进先出(LIFO)的集合。
Python 的 list 方法使得列表作为堆栈非常容易:
处理数据时偶尔会遇到某列中有包含多个值,用逗号或其他分隔符分割,如下表:
1 | +-------------------------------------+------------+ |
Sublime Text3
Tex Live 2018
LaTexTools
SumatraPDF
在 Windows 10 中可以右击下载的 ISO 文件选择”挂载”(非 Windows 10 系统可以用 Winrar 等工具解压该文件),然后以管理员身份运行 install-tl-windows.bat 脚本。
在出现的 GUI 界面中选择合适的配置,安装(一般情况下默认配置即可;习惯用 Texworks 可以保留该编辑器)。
从 B 站下载了一套 C++程序设计课程,发现下载到本地的视频文件名过于冗长,类似于:
“清华大学C++自主学习教程(推荐1.5倍速食用) - 16.2-4-2逗号运算、关系运算、逻辑运算和条件运算(Av20786390,P16).Flv”
我们想把文件名精简为”2-4-2逗号运算、关系运算、逻辑运算和条件运算.Flv”。
Windows 10 10.0.17134 教育版更新后发现原来的小娜关闭了,原来小娜圆环的位置变成了放大镜图标,默认只有搜索功能。
解决方法如下:
打开注册表编辑器,定位到:
1 | HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Search |
在右侧窗格中找到 BingSearchEnabled 值,如果没有则新建一个 DWORD(32位)值,命名为 BingSearchEnabled,并将该值的数值数据设置为 1;
用同样的方法检查有没有 CanCortanaBeEnabled 值以及 CortanaConsent ,如果没有则新建DWORD(32位)值,命名并将数值数据设置为 1。
关闭注册表编辑器后重启 Windows 资源管理器,Cortana 应该已经回来了。
Sublime Text3
Codeblocks(mingw-setup)
分别安装 Sublime Text 和 Codeblocks,并且把 Codeblocks 安装目录下 MinGW 文件夹目录添加到环境变量中。
配置 Codeblocks:Setting –> Compiler,在“Have g++ follow the C++14 ISO C++ language standard [-std=c++14]” 选项上打勾、保存。
配置 Sublime Text:Tools –> Build System –> New Build System
粘贴下面的代码(注意 CodeBlocks 的目录):
1 | { |
保存为 C++.sublime-build.