摘要:
一、冒泡排序 思想:重复走访过要排序的序列,一次比较两个元素,如果他们的顺序错误就将他们进行交换,一次冒上来的是最小的,其次是第二小。 时间复杂度:O(n^2) 空间复杂度:O(1) 稳定性:稳定 /** * 冒泡排序 * @param disOrderArray * @return */ publ 阅读全文
摘要:
KMP算法的时间复杂度是O(m + n),而Boyer-Moore算法的时间复杂度是O(n/m)。文本查找中“ctrl + f”一般就是采用的BM算法。 Boyer-Moore算法的关键点: 从右遍历,如果有txt里面的i+j元素和pat里面的j元素不一致,调整。根据right[]调整,right[ 阅读全文
摘要:
存储器是个宝贵但却有限的资源。一流的操作系统,需要能够有效地管理及利用存储器。 内存为程序分配空间有四种分配方式: 1、连续分配方式 2、基本分页存储管理方式 3、基本分段存储管理方式 4、段页式存储管理方式 连续分配方式 首先讲连续分配方式。连续分配方式出现的时间比较早,曾广泛应用于20世纪60~ 阅读全文
摘要:
“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生,原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题,因此内存分配器在保证空闲资源可用性方面扮演着重要的角色。 内部 阅读全文
摘要:
函数调用另一个词语表示叫作过程。一个过程调用包括将数据(以过程参数和返回值的形式)和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在退出时释放这些空间。 大多数机器,包括IA32,只提供转移控制到过程和从过程中转移出控制这种简单的指令。数据传递、局部变量的分配和 阅读全文
摘要:
Clang 比 GCC 编译器的优势: 编译速度更快 编译产出更小 出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 。 内置有静态分析工具,可以对代码进行静态分析 (clang—analyze) 。这也是 gcc 做不到的 。 专注,因为 阅读全文
摘要:
首先编写了第一个C++程序,Hello,world! #include <iostream> using namespace std; void main() ...{ cout << "Hello,world!" <<endl; return; } 用命令:GCC -o test test.cpp 阅读全文
摘要:
在 MySQL 中,主要有四种类型的索引,分别为: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引。我们主要分析B-Tree 索引。 B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 阅读全文
摘要:
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关 阅读全文
摘要:
结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM MyISAM 和 InnoDB的适用场景 MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。 I 阅读全文