码迷,mamicode.com
首页 >  
搜索关键字:有序数组 最接近结果    ( 1005个结果
Java数据结构和算法(一):综述
数据结构是指数据在计算机内存空间或磁盘中的组织形式。数据结构包括数组、链表、栈、二叉树、哈希表等等。算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序。 数据结构 优点 缺点 数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定 有序数组 比无序数组查找 ...
分类:编程语言   时间:2017-06-08 23:46:59    阅读次数:174
排序算法之快速排序
思路:快速排序也是利用了分治算法。总体是,首先在将要比较的数组中找到一个基准,然后用该基准和数组中的剩余元素进行比较,小于该基准的就放到该基准的左侧,大于该基准的就放到右侧,紧接着再对左右两侧的数组再进行快速排序,依次逐渐递归,最后生成的数组就是有序数组。 图片引用网址 :http://www.cn ...
分类:编程语言   时间:2017-06-04 22:47:03    阅读次数:195
《剑指Offer》题目——二维数组中的查找
题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目分析: 暴力破解时间复杂度太高,本题有两种思路:1. 将每行看成一个有序数组,用二分查找2. 从左下角开始查找,若大 ...
分类:编程语言   时间:2017-06-04 22:37:20    阅读次数:185
有序数组排序
问题: 给定一个数组,其值先从小到大递增后从大到小递减,找出最大的值。 思路:最简单的办法就是从第二个值开始,判断是否满足 A[i] > A[i-1] && A[i] > A[i+1]. 如果满足,i 就是那个最大值的下标。该算法复杂度为O(n). 我们可以改进这种算法,因为这个数组是排好序的,所以 ...
分类:编程语言   时间:2017-06-04 13:47:37    阅读次数:128
java基础之数组常用操作
常用的对数组进行的操作 1、求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max。最小值同样 2、查找数组中是否存在某个元素 (2)、用二分查找法查找数组中是否存在某个元素 前提:待查找的数组必须是有序的(大小有序 ...
分类:编程语言   时间:2017-06-02 23:08:36    阅读次数:240
归并排序
归并排序 归并排序是将两个有序的数组归并成一个更大的有序数组,要对一个数组排序,可以先不断递归地将数组分为两半进行排序,最后再将结果归并起来。归并排序最吸引人的性质是它能保证任意长度为N的数组所需时间和NlogN成正比,它的主要缺点是它所需的额外空间和N成正比。 图1-1的树状图显示了要将arr[0 ...
分类:编程语言   时间:2017-06-01 21:39:59    阅读次数:256
二分查找法
// 二分查找法,在有序数组arr中,查找target// 如果找到target,返回相应的索引index// 如果没有找到target,返回-1template<typename T>int binarySearch(T arr[], int n, T target){ // 在arr[l...r ...
分类:其他好文   时间:2017-06-01 13:23:30    阅读次数:158
php算法整合
1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组,2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组,3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数 1. 使用PHP描述冒泡排序和快速排序算法,对象可以是 ...
分类:编程语言   时间:2017-05-28 09:51:43    阅读次数:193
算法 - 合并两个有序数组成一个有序数组
最近看到一个算法题目,觉得很有意义,就自己查资料,摸索着自己实现了代码,特记录一下。 题目:有两个数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。 有两种实现思路: 1. 定义一个新数组,长度为两个数组长度之和,将两个数组都copy到新数组,然后排序。 2. 给两个数组分别定义一 ...
分类:编程语言   时间:2017-05-26 23:22:52    阅读次数:223
leetcode-题5--优化
#include #include #include using namespace std; //判断两个有序数组的第k个大的数 int dfs(int *a, int m, int *b, int n, int k) { if (m > n)return dfs(b, n, a, m, k); ... ...
分类:其他好文   时间:2017-05-23 15:53:47    阅读次数:221
1005条   上一页 1 ... 57 58 59 60 61 ... 101 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!