摘要:
一、什么是二叉查找树 二叉查找树(Binary Search Tree)是一种特殊的二叉树,对于一个二叉查找树,树中的每个结点X,它的左子树中所有关键字的值都小于X的关键字值;而它的右子树中所有关键字的值大于X的关键字值。这意味着,该树的所有元素可以使用一种统一的方式进行排序,因此,二叉查找树又称为 阅读全文
摘要:
一、什么是树 树是一个有限结点组成的集合。可以用递归的方式来定义一棵树:树可以是一个空集,若非空,则一棵树由一个根(root)结点 r 以及 0 个或多个非空的(子)树 T1、T2、T3、...,Tk 组成,这些子树中的每一棵的根都被来自根 r 的一条有向的边(edge)所连接。每一棵子树的根叫做根 阅读全文
摘要:
上一篇简单介绍了使用数组实现一个队列的方法,本文使用链表来实现队列: 程序运行结果如下: 参考资料: 《算法精解 C语言描述》 阅读全文
摘要:
队列是一种先进先出(FIFO)的线性表。对队列的基本操作有两种: 入队(Enqueue),在表的末端(队尾 tail)插入一个元素;出队(Dequeue),删除或返回在表的开头(队头 head)的元素。本文介绍如何使用数组在 C 语言中实现一个队列,平台为VS2010。 先创建一个队列结构体,这个结 阅读全文
摘要:
一、流编辑器 sed 与命令 sed Linux 中,常使用流编辑器 sed 进行文本替换工作。与常使用的交互式编辑器(如vim)不同,sed 编辑器以批处理的方式来编辑文件,这比交互式编辑器快得多,可以快速完成对数据的编辑修改。 一般来说,sed 编辑器会执行以下操作: 1)一次从输入中读取一行数 阅读全文
摘要:
字符串是存储在内存的连续字节中的一系列字符。C++ 处理字符串的方式有两种,一种来自 C 语言,常被称为 C-风格字符串,另一种是基于 string 类库的字符串处理方式。C 风格字符串的处理可以参考 https://www.cnblogs.com/tongye/p/10688941.html ,本 阅读全文
摘要:
本文将使用 C 语言来实现一个单链表,并实现遍历、查找、插入、删除等操作。 一、创建一个单链表 首先,定义一个存放结点相关信息的结构体,结构体有两个元素,分别是键值和一个指向下一节点的指针。 想要创建一个单链表,可以先创建一个表头结点(哑结点),然后在表头结点后不断插入新的结点即可,需要注意的是,每 阅读全文
摘要:
Shell 脚本中经常需要用到一些括号、引号表达式,功能各不相同,本文详细介绍一下。 1、双引号 " " 双引号常用于包含一组字符串,在双引号中,除了 "$"、"\"、" ` (反引号)"有特殊含义外,其余字符(如IFS、换行符、回车符等)没有特殊含义。 输出结果为 3,在双引号中 $ 符仍有特殊含 阅读全文
摘要:
排序算法是最基本且重要的一类算法,本文基于 VS2017,使用 C 语言来实现一些基本的排序算法。 一、选择排序 选择排序,先找到数组中最小的元素,然后将这个元素与数组的第一个元素位置互换(如果第一个元素就是最小元素,则与自己互换位置)。然后在剩下的元素中寻找最小的元素,与第二个元素位置互换。以此循 阅读全文
摘要:
tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希望能给大家带来一些帮助。 一、下载 tesseract tesseract 是一个开源项目,可以在 阅读全文