header.png

(tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由 n ($n \geq 0$)个有限节点组成一个具有层次关系的集合。在任意一棵非空树中,它都满足如下特点:

  • 有且仅有一个特定的称为根(Root)的结点;
  • 当 $n >1$ 时,其余结点可分为 m($m >0$)个互不相交的有限集 $T_1,T_2,…,T_m$,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree);
阅读全文 »

header.png

字符串(String)是由零个或多个字符(char)组成的有序序列。学过 C/C++ 的人会有一种固定的思维模式,凡是字符串都是以 \0 结束。但是 java 却不同,要知道 java 里始终秉承的一句话 『everything is object』,字符串也不例外,它也被作为 String 类型的对象处理。

阅读全文 »

这里提到的 linux 版本是 0.11,在当时,操作系统都是存在软盘里的,而 CPU 的逻辑电路被设计为只能运行内存中的程序。电路刚通电时,内存(RAM)里什么都没有,那么计算机是怎样将操作系统运行起来的呢?

阅读全文 »

header.png

线性表(Linear List)是最简单也是最常用的一种数据结构。简言之,线性表是 n 个数据元素的有限序列。每个数据元素可以使一个数或一个符号,也可以是一页书,甚至其他更加复杂的信息。

阅读全文 »

header.png

查找(Searching)是根据给定的某值,在查找表中确定一个其关键字等于给定值的数据或记录元素。若在表中存在这样的记录,则称查找成功,并返回整个记录的值,或指示该记录在查找表中的位置;若表中不存在关键字等于给定值的记录,则称查找失败,这时候一般返回一个 “空” 记录或 “空” 指针。

阅读全文 »

header.png

使用 git 已经挺长时间了,也在网上看过不少的学习教程。但是怎么说呢,git 的操作实在是太杂了,某一种目标可能就有好多种不同的实现方式,而且这些不同的实现方式又可能产生不同的结果。以至于,每次在网上查找到的解决方案可能都不同,然后不停地往 OneNote 里记笔记,时间久了,笔记越来越乱,再加上记忆力本就不好,原先不会的现在还是不会。于是寻思着简单的梳理一下。

阅读全文 »

header.png

排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。而通常,为了查找方便,我们都会希望计算机的表是按关键字有序的。因此,熟练掌握排序算法是每一个程序猿的必备素养。

阅读全文 »