11 2018 档案
摘要:使用 ulimit -a 命令,查看 max user processes 的输出,就是系统最大进程数 max user processes 的值默认是 # cat /proc/sys/kernel/threads-max的值/2,即系统线程数的一半
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <pthread.h> #include <assert.h> // 任务结构体,使用队列保存 typedef struct
阅读全文
摘要:作用 在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。 当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行。当然,exec系列的函数也可以将当前进程替换掉。 例如:在shell命令行
阅读全文
摘要:由来 在linux下,如果一个进程终止,内核会释放该进程使用的所有存储区,关闭所有文件句柄等,但是,内核会为每个终止子进程保留一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间。当终止子进程的父进程调用wait或waitpid时就可以得到这些信息 僵尸进程指:一个进程
阅读全文
摘要:定义 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。 连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种
阅读全文
摘要:1. 图的表示 1)临接矩阵 使用二维数组arr[N][N]表示一个图。 a. N 为图的顶点个数,矩阵的对角线全为0。 b. 两个顶点连通的话,矩阵的值为1 c. 某一行的和表示该顶点的出度。某一列的和表示该顶点的入度 d. 有权值的图,矩阵元素不再是0,1表示是否连通,而是把元素值表示为权值。不
阅读全文
摘要:概念 回溯法是把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。 首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐
阅读全文
摘要:子集树 当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间称为子集树。比如,01背包问题就是子集树。这类问题通常有2^n个叶子节点,总节点个数是2^(n+1)-1。遍历子集树的任何算法都需要 O(2^n)的时间。 选取数字: 排列树 当所给问题是确定n个元素满足某种性质的排列时
阅读全文
摘要:二叉树查找效率很高,但是它有一个缺点。类似下面一棵树,查找效率是线性的: 定义 于是,引出了平衡二叉树(Self-balancing binary search tree),也叫 AVLTree 它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 使用它,
阅读全文
摘要:特征 1.左子树上所有结点的值均小于或等于它的根结点的值 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 如下就是一棵典型的二叉查找树 因为查找使用二分查找法,所以查询时间复杂度是 O(lg2) 操作 二叉树的操作也就是增删查、遍历 查找就是二分查找。增添节
阅读全文