Trie树,前缀树
[TOC]
trie树,又叫前缀匹配树,适合做自动补全 和 敏感词过滤。它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。
它的核心思想就是通过最大限度地减少无谓的字符串比较,使得查询高效率,即「用空间换时间」,再利用共同前缀来提高查询效率。
[TOC]
trie树,又叫前缀匹配树,适合做自动补全 和 敏感词过滤。它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。
它的核心思想就是通过最大限度地减少无谓的字符串比较,使得查询高效率,即「用空间换时间」,再利用共同前缀来提高查询效率。
[TOC]
《C 程序设计语言》。C语言经典版本。必读。 语法之外,主要是1988年出的ANSI标准。
学习一门语言。语法:1%, 标准库:10%, 惯用法:5%, 其他:84%。
C语言通用规则: 在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式。
修改"20"等不明其意的幻数的方式是定义一个有意义的名字。
#define 名字 替换文本 # 注意,这里没有分号。。。
#define 指令行末尾没有分号。
标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字节流的方式处理。
字符在机器内部是以
位模式
出现的。char
类型专门存储这类数据。getchar() 返回值之所以是int
, 是因为EOF
是个特殊的int, 在我的mac上是-1
。在windows上Ctrl+Z
输入EOF
, 在mac上是Ctrl+D
。
[TOC]
go标准库-flag
由于一些历史原因,Unix 出现过很多不同的分支,命令行的风格也因此有很多标准,比如:
查看系统进程有两种写法:
ps aux
(BSD 风格) 和 ps -elf
(Unix 风格)。
POSIX 的命令行风格算是取长补短的集合吧。什么是 POSIX 风格?可以查看这篇文档命令参数语法。它同时提供了长短选项的标准。