Linux 并发与进程管理
进程和程序的区别
程序
程序本质上是一系列二进制信息,这些信息描述了如何在运行时创建一个进程:
- 二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释 文件中的其他信息。
- 机器语言指令。
- 程序入口地址:标识程序开始执行时的起始指令位置。
- 数据:程序文件包含的变量初始值和程序使用的字面量值(比如字符串)。
程序
程序本质上是一系列二进制信息,这些信息描述了如何在运行时创建一个进程:
归并排序属于分治法思想,归并排序完全遵循分治模式。直观上其操作如下:
核心函数有两个,merge(A,p,q,r):将已经有序的序列 A[p…q]和A[q+1,r] 合并为一个有序序列。
三种不同类型的用户:文件拥护者(user),同组用户(group),可以访问系统的其他用户(others)。
三种访问文件或目录的方式:可读文件(r),可写文件(w),可执行文件(x)。
在shell环境中执行ls -la 输出当前目录的详细信息
当输入规模足够大,使得运行时间只与增长量级有关时,需要研究算法的渐近效率。也就是,当输入规模无限增加时,在极限中,算法的运行时间如何随着输入规模的变大而增加。本文中所用插图来自《算法导论》。
不同的记号从不同的方面来刻画一个算法的运行效率。将插入排序的最坏运行时间刻画为下式:
Makefile的作用为实现自动化编译,主要为了解决以下问题:
分别用递归和迭代实现二叉树三种遍历方式:前序遍历,中序遍历,后序遍历。递归的缺点分析。
快速排序使用分治法实现,即一个一个复杂的问题分解为一系列容易解决的小问题,最终得到问题的解。
快速排序的三步分治过程:例如对 A[p…r] 进行快速排序