1.数据结构
数据结构 |
优点 |
缺点 |
|
数组
|
查询时间复杂度为O(1),存放数据连续 |
插入,删除数据复杂度为O(n) |
|
链表 |
插入,删除复杂度为O(1) |
存放数据不连续,查询时间复杂度为O(n),上一个数组存放了下一个数据的存放地址 |
|
栈 |
|
|
|
2.查找
顺序查找:时间复杂度为O(n)
二分查找:时间复杂度为O(logn),但有个前提,数据必须是按照顺序排列好的;
3.排序
选择排序:时间复杂度为O(n2),从原数据中选出最大/最小的值存放在新的容器中;
递归排序:重复调用自身容易导致无限循环,所以需要递归出口;
4.虚拟化CPU
将单个 CPU(或其中一小部分)转换为看似无限数量的 CPU,
从而让许多程序看似同时运行,这就是所谓的虚拟化 CPU(virtualizing the CPU)
5.物理内存模型
现机器提供的物理内存(physical memory)模型非常简单。
内存就是一个字节数组。要读取(read)内存,必须指定一个地址(address),才能访问存储
在那里的数据。要写入(write)或更新(update)内存,还必须指定要写入给定地址的数据
6..虚拟化内存
每个进程
访问自己的私有虚拟地址空间(virtual address space)(有时称为地址空间,address space),
操作系统以某种方式映射到机器的物理内存上。一个正在运行的程序中的内存引用不会影
响其他进程(或操作系统本身)的地址空间。