软考必备
初心w50t2
一不小心就走过了这么多年
展开
-
Linux权限相关例题:
例题:假设 test1, test2, test3 同属于 testgroup 这个群组,如果有下面的两个文件,请说明两个文件的拥有限为何?-rw-r–r-- 1 root root 238 Jun 18 17:22 test.txt-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai答:文件 test.txt 的拥有者为 root,所属群组为 root。至于权限方面则只有 root 这个账号可以存取此文件,其他人则仅能读此文件;另一个原创 2020-05-14 21:40:04 · 570 阅读 · 0 评论 -
基数排序
基数排序的基本思想是:从低位到高位依次对待排序的关键码进行分配和收集,经过d趟分配和 收集,就可以得到一个有序序列。 基数排序的具体实现过程如下: 设有r个队列,队列的编号分别为0,1,2,…,r–1.首先 按最低有效位的值把n个关键字分配到这r个队列中; 然后从小到大将各队列中的关键字再依次收集起来; 接着再按次低有效位的值把刚刚收集起来的关键字分配到r个队列中。 重复...原创 2020-02-18 16:48:10 · 508 阅读 · 0 评论 -
归并排序
归并排序是将两个或两个以上的有序子表合并成一个新的有序表。初始时,把含有n个结点的待排序序列看做由n个长度都为1的有序子表所组成,将它们依次两两归并得到长度为2的若干有序子表,再对它们两两合并。直到得到长度为n的有序表,排序结束。 例如,我们需要对关键码{72,28,51,17,96,62,87,33}进行排序,其归并过程如图1-26所示。 归并排序是一种稳定的排序,可用顺序存储结构...原创 2020-02-18 16:39:08 · 148 阅读 · 0 评论 -
快速排序
快速排序采用了一种分治的策略,通常称其为分治法。 其基本思想是,将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问 题的解。 快速排序的具体过程如下: 第一步,在待排序的n个记录中任取一个记录,以该记录的排序码为准,将所有记录分成两组, 第一组各记录的排序码都小于等于该排序码,第二组各记录的排序码都大于该排序码,并把该记录 排...原创 2020-02-18 16:34:40 · 181 阅读 · 0 评论 -
冒泡排序
冒泡排序将被排序的记录数组R[1…n]垂直排列,每个记录R[i]看成是重量为ki的气泡。 根据轻气 泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"飘 浮".如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。 冒泡排序的具体过程如下。 第一步,先比较k1和k2,若k1>k2,则交换k1和k2所在的记录,否则不交换。继续对k2和...原创 2020-02-18 16:15:00 · 889 阅读 · 0 评论 -
堆排序
堆排序是一种树形选择排序,是对直接选择排序的有效改进。n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足(Ki≤K2i且Ki≤K2i+1)或(Ki≥K2i且Ki≥K2i+1),(1≤i≤ )。小根堆:根结点 (堆顶)的关键字是堆里所有结点关键字中最小者,称为小根堆;大根堆:根结点的关键字是堆里所有结点 关键字中最大者,称为大根堆。 若将此序列所存储的向量R[1…n]看做是一棵...原创 2020-02-18 16:08:24 · 253 阅读 · 0 评论 -
直接选择排序
直接选择排序的过程: 首先在所有记录中选出排序码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换……依次类推,直到所有记录排完为止。 无论文件初始状态如何,在第i趟排序中选出最小关键字的记录,需做n–i次比较,因此,总的比 较次数为n(n–1)/2=O(n2)。当初始文件为正序时,移动次数为0;文件初态为反序时,每趟排序 均要执行交换操作,总的移动...原创 2020-02-18 15:01:09 · 283 阅读 · 0 评论 -
希尔排序
希尔(Shell)排序的基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记 录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即 所有记录放在同一组中进行直接插入排序为止。该方法实质上是一种分组插入方法。...原创 2020-02-18 14:51:28 · 1249 阅读 · 0 评论 -
数据结构之直接插入排序
直接插入排序的过程是: 在插入第i个记录时,R1,R2,…,Ri-1已经排好序,将第i个记录的排序码 ki依次和R1,R2,…,Ri-1的排序码逐个进行比较,找到适当的位置。 直接插入排序的时间复杂度为 O(n2)。C/C++代码实现直接插入排序#include<iostream>using namespace std;int main(){ int a[]=...原创 2020-02-18 14:44:13 · 98 阅读 · 0 评论