1 /*有序数组:主要是为了提高查找的效率 2 *查找:无序数组--顺序查找,有序数组--折半查找 3 *其中插入比无序数组慢 4 * */ 5 public class MyOrderedArray { 6 private long[] arr; 7 private int items; 8 9 ... ...
分类:
编程语言 时间:
2017-10-17 15:03:19
阅读次数:
214
【大学生活】在软件学院的那些课 原创 2012年07月14日 18:25:02 标签: 作业 / 编程 37786 原创 2012年07月14日 18:25:02 标签: 作业 / 编程 37786 近来看到些总结自己学编程的经历的文章,总觉得心里痒痒的,也很想在毕业季回顾一下自己在软件学院四年的学 ...
分类:
其他好文 时间:
2017-10-17 15:03:12
阅读次数:
125
二分查找---顺序查找 顺序查找:在一个已知无序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数从第一个开始逐个比较,直到找出与给定关键字相同的数为止。复杂度为o(n). 二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关... ...
分类:
其他好文 时间:
2017-10-16 19:24:23
阅读次数:
133
1、二分法 二分法又叫折半查找,优点是比较次数少,查找速度快,平均性能好; 其缺点是要求待查表为有序表,且插入删除困难。 一般有两种实现方式: 递归方式和非递归方式 (1)非递归方式: public static void binarySearch(int[] arr,int des){ int l ...
分类:
编程语言 时间:
2017-10-12 21:32:52
阅读次数:
292
二分查找:分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成 ...
分类:
其他好文 时间:
2017-10-11 23:40:23
阅读次数:
125
二分是啥? 在有序的序列中进行折半查找,可以做到log n的时间查询。 咋二分? 将n个元素分成大致相等的两部分,取a[mid]与x做比较 如果x = a[n/2],则找到x,算法中止 如果x < a[n/2],则只要在数组a的左半部分继续搜索x 如果x > a[n/2],则只要在数组a的右半部分搜 ...
分类:
编程语言 时间:
2017-10-03 21:10:25
阅读次数:
249
https://vjudge.net/problem/UVA-1121 题意: 给出一个正整数数列a,要求找出最短的连续的一个序列使得这个序列的所有数字之和大于等于S。 思路: 第一是由于序列都是正整数,所以他们的前缀和是递增的,就可以用二分搜索,但是我的二分是二分的个数,这个具体看代码。复杂度O( ...
分类:
其他好文 时间:
2017-10-03 00:23:50
阅读次数:
200
一. 查找 想要知道某一个数据在数组中的位置。(从一个数组中查找某一个数据,数据存在的话,同时返回角标号,没有相应的数据,返回-1.) 介绍数组常见的操作,实际上就是功能化的函数(求最值,排序,查找)。一旦说到函数,就涉及到两个明确,返回值和输入。这里要得到的是位置,也就是索引号。我们要知道某一个数 ...
分类:
编程语言 时间:
2017-10-01 12:25:23
阅读次数:
186
二分查找算法是在有序数组中用到较为频繁的一种算法。如果不使用二分算法直接对数组进行遍历,跟每个元素进行比较,其时间为O(n)。 但是二分查找算法则更优,因为其查找的时间为O(lgn),比如数组{1,2,3,4,5,6,7,8,9}。需要查找元素,用二分查找的算法执行的话,其顺序为: 第一步:查找中间 ...
分类:
编程语言 时间:
2017-09-30 17:56:10
阅读次数:
184