面试题: 归并算法 两个有序序列进行归并 l1 = [1, 2, 5, 6, 8,10] l2 = [3, 4, 7,9,12] l3 = [] i = 0 j = 0 while i 0: rus = rus*n n-=1 s = str(rus) count =0 s= '120000000' ... ...
分类:
编程语言 时间:
2018-12-30 20:20:19
阅读次数:
217
1 void MergeSortCore(int *a,int low,int mid,int high) 2 { 3 int *b = new int; 4 int i,j,k; 5 for(i=low,j=mid+1,k=low;i<=mid && j<=high;k++) 6 { 7 if(a... ...
分类:
编程语言 时间:
2018-11-24 21:05:05
阅读次数:
195
1、冒泡算法 如上排序了50000个乱序的数,耗时0:04:23.190000,性能有点差; 时间复杂度为O(N^2) 2、插入排序 如上排序了50000个乱序的数,耗时 0:01:43,性能一般般; 时间复杂度为:O(n^2/2) 3、归并算法 如上排序了50000个乱序的数,耗时 0:00:00 ...
分类:
编程语言 时间:
2018-10-25 15:39:17
阅读次数:
127
mro之C3算法 # C3算法 归并算法 class A(object): pass class B(A): pass class C(A): pass class D(B): pass class E(C): pass class F(D, E): pass print(F.__mro__) ## ...
分类:
编程语言 时间:
2018-10-20 11:02:46
阅读次数:
142
归并操作 归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。 如 设有数列{6,202,100,301,38,8,1} 初始状态:6,202,100,301,38,8,1 第一次归并后:{6,202},{100,301},{8,38},{1},比较次数:3; 第二次 ...
分类:
编程语言 时间:
2018-06-14 14:54:29
阅读次数:
141
1.学习总结(2分) 1.2.考试总结 上周上机考试6.2归并算法复习,主要是头插法尾插法搞混了 再次复习一下 链表的头插法和尾插法 头插法(倒序,开始要next=NULL) 尾插法(顺序,,最后要next=NULL) 2.PTA实验作业(4分) 题目1:7 1 jmu 字符串是否对称 2.2 设计 ...
分类:
其他好文 时间:
2018-04-15 11:37:01
阅读次数:
263
知识点总结报告 知识点: 归并排序 (原理)归并排序是多次将两个或两个以上的有序表合并成一个新的有序表。最简单的归并是直接将两个有序的子表合并成一个有序的表,即二路归并。 二路归并排序基本思路是将R[0..n-1]成是n个长度为1的有序序列,然后进行两两归并,得到|¯n/2¯|个长度为2(最后一个有 ...
分类:
编程语言 时间:
2018-01-28 15:35:13
阅读次数:
150
分治策略:将原问题划分成n个规模较小而结构与原问题相似的子问题,然后递归地解决这些子问题,最后再合并其结果,就可以得到原问题的解。 它需要三个步骤: 通过分治策略和分治步骤,可以简单地默出归并算法。 对于merge函数中的合并过程,有必要也用循环不变式来分析一下: 循环中不变的量是a[left... ...
分类:
编程语言 时间:
2018-01-21 01:16:35
阅读次数:
243
1.有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词 1G有2^26个单词,1M可以存2^16个词。 step1:利用hash散列方法,hash(x)/5000将文件单词存到5000个不同的空间。(平均下来,每个空间大概有200k大小 ...
分类:
编程语言 时间:
2018-01-16 00:42:12
阅读次数:
185