算法设计与分析部分算法伪代码.docx
《算法设计与分析部分算法伪代码.docx》由会员分享,可在线阅读,更多相关《算法设计与分析部分算法伪代码.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法设计与分析部分算法伪代码 第三章蛮力法 1.选择排序 ?SelectionSort(A0.n-1) for i=0 to n-2 do min=i for j=i+1 to n-1 do if Aj min=j swap Ai and Amin 2.冒泡排序 ?BubbleSort(A0.n-1) / 输入:数组A,数组中的元素属于某偏序集 / 输出:按升序排列的数组A for i=0 to n-2 do for j=0 to n-2-i do if Aj+1 3.改进的冒泡算法 ?ALGORITHM BubbleSortImproved( A0,n 1 ) / 冒泡排序算法的改进 / 输
2、入:数组A,数组中的元素属于某偏序集 / 输出:按升序排列的数组A for i 0 to n 2 do flag True for j 0 to n 2 i do if Aj+1 1 copy A0.?n/2?-1 to B0.?n/2?-1 copy A?n/2?.n-1 to C0.?n/2?-1 MergeSort( B ) MergeSort( C ) Merge( B,C,A ) 两个数组合并的算法 算法Merge(B0.p-1,C0.q-1,A0.p+q-1) /将两个有序数组合并成一个有序的数组 /输入:两个有序数组B0.p-1和C0.q-1 /输出:A0.p+q-1中已经有序存
3、放了B和C中的元素 i=0,j=0,k=0; while i if BiCj Ak=Bi, i=i+1 else Ak=Cj, j=j+1 k=k+1 if i=p copy Cj.q-1 to Ak.p+q-1 else copy Bi.p-1 to A0.p+q-1 快速排序算法 QuickSort(Al.r) / 使用快速排序法对序列或者子序列排序 / 输入:子序列Al.r或者序列本身A0.n-1 / 输出:非递减序列A if l temp do Aj+1 Aj j j 1 Aj+1 temp 深度优先查找 算法BFS(G) /实现给定图的深度优先查找遍历 /输入:图G= /输出:图G的
4、顶点,按照被DFS遍历第一次访问到的先后次序,用连续的整数标记,将V中的每个顶点标记为0,表示还“未访问” count =0/记录这是第几个访问的节点 mark each vertex with 0/标记为unvisited for each vertex vV do if v is marked with 0 dfs(v) dfs(v) /递归访问所有和v相连接的未访问顶点,然后按照全局变量count的值 /根据遇到它们的先后顺序,给它们附上相应的数字 count = count + 1 mark v with count for each vertex w adjacent to v do
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 部分 代码
限制150内