前两篇介绍了顺序表和链表中的单链表,本文将介绍链表的另一种实现:双向链表,它的每个节点和两个指针域,分别指向前驱节点和后继节点。从双向链表中的任意一个节点开始,都可以很方便地访问它的前驱节点和后继节点
链表也是线性表的一种,链表可以合理利用不连续的内存区,可以相对灵活地使用存储空间。但是,它的每个节点增加了指针域,所以空间开销也比较大。另外,它失去了顺序表的快速读取任意元素 O(1) 的优点
线性表包括顺序表和链表,本文先介绍顺序表的元素内置和元素外置两种基本形式,再介绍一体式和分离式两种顺序表的结构,最后说明了Python中列表和元组高级数据结构的本质其实就是元素外置的、分离式的动态顺序表
原创
算法概述
算法是设计良好的可计算的过程,它把某个值或某些值作为输入并产生某个值或某些值作为输出。通常设计一个解决问题的算法是很容易的,但如果这个算法很慢,就要重新设计了。因为算法运行的速度取决于它运行的环境以及实现的细节,计算机科学家们倾向于把运行时间以输入的大小来表示,比如O(n)
CentOS 7 中用 ip 或 nmcli 命令配置网络,如果服务器有多个网络接口,并且想指定多个默认网关时,需要添加多张路由表,并使用策略路由规则(Policy-routing)来实现