![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
arithmetic
sky清水无香sky
做IT编程工作
展开
-
算法(一):最大子序列和问题的多种求解(打印子序列)
原题:给定整数(可以为负数),A1,A2,A3,….,AN,求子序列最大的值 分析:假定-3,16,-2,12,-4,-1的序列,最大子序列为16,-2,12=26第一种算法public static int maxSubSumOne() { int[] a= {-3,16,-2,12,-4,-1};//-3/-3,-16/-3,-16,-2/...原创 2018-02-02 16:35:24 · 336 阅读 · 0 评论 -
算法(三):希尔排序的思考
希尔排序算法 希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名。又称作缩减增量排序。基本思考:希尔排序是优化的插入排序。基本的思想还是插入排序(插入置换,让子序列有序),它通过比较相距一定间隔的元素,所用的距离随算法进行而减少,直到相距为1为止。 ①取数据的增量(希尔建议是hк=N/2和hк=hк+₁/2) gap...原创 2018-02-26 17:07:07 · 190 阅读 · 0 评论 -
算法(四):堆排序的思考
堆排序 堆排序(heapsort)是一种树形选择排序,是对直接选择排序的有效改进。 直接选择排序:数据直接进行比较置换,第一个位置保存最小值,依此类推排序。简单代码如下:for(int i=0;i<d.length-1;i++) { int min=d[i],tmp; //记录第i位置 for(int j=i+1;j<d.length;j++...原创 2018-03-01 09:35:23 · 198 阅读 · 0 评论 -
区域链准备篇:散列介绍(一)
散列 散列表(hash table)的实现叫作散列(hashing)。 散列是一种用于以常数平均时间执行插入、删除和查找的技术。1. 散列基本想法 理想的散列表,数据结构只不过是一个包含一些项(item)的,具体固定大小的数组。 通常查找是对项的某个部分(数据域)进行,这部分叫关键字(key)。 散列表通常从0到TableSi...原创 2018-02-22 16:52:17 · 208 阅读 · 0 评论 -
算法(二):插入排序的思考
算法 插入排序由N-1趟排序组成。 对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。 在第p趟,将位置p上的元素向左移动,直到它在前p+1个元素中的正确位置被找到的地方。编程int[] a = {34,8,64,51,32,21};public static void insertionSort(int[] a) { ...原创 2018-02-23 16:55:01 · 111 阅读 · 0 评论