码迷,mamicode.com
首页 >  
搜索关键字:有序数组    ( 1005个结果
数据结构与算法04 之二叉树
在有序数组中,可以快速找到特定的值,但是想在有序数组中插入一个新的数据项,就必须首先找出新数据项插入的位置,然后将比新数据项大的数据项向后移动一位,来给新的数据项腾出空间,删除同理,这样移动很费时。显而易见,如果要做很多的插入和删除操作和删除操作,就不该选用有序数组。     另一方面,链表中可以快速添加和删除某个数据项,但是在链表中查找数据项可不容易,必须从头开始访问链表的每一个数据项,直到找...
分类:编程语言   时间:2016-04-10 14:41:42    阅读次数:293
binary_search算法
在计算机科学中,折半搜索(英语:half-interval search),也称二分查找算法(binary search)、二分搜索法、二分搜索、二分探索,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于 ...
分类:编程语言   时间:2016-04-07 20:20:24    阅读次数:306
算法复习笔记:二分查找
在计算机科学中,折半搜索(英语:half-interval search),也称二分查找算法(binary search)、二分搜索法、二分搜索、二分探索,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于 ...
分类:编程语言   时间:2016-04-06 18:24:48    阅读次数:193
算法-求两个有序数组两两相加的值最小的K个数
我的思路是: 用队列, 从(0,0)開始入队,每次出队的时候,选(1,0) (0,1) 之间最小的入队,假设是相等的都入队,假设入过队的就不入了,把出队的k个不同的输出来就可以 我測试了几组数据都是对的。可是可能还是会有BUG,或者我忽略的地方。以下是我的实现代码(假设有错,请大家积极指正) imp ...
分类:编程语言   时间:2016-04-05 12:18:44    阅读次数:208
二叉树
原文链接:http://www.orlion.ga/267/ 为什么使用二叉树呢?因为它通常结合了另外两种数据结构的优点:一种是有序数组,另一种是链表。在树中查找数据项的速度和在有序数组中查找一样快,并且插入数据项和删除数据项的速度也和链表一样。 二叉搜索树: 非平衡树:树的大部分的节点是在根的一边 ...
分类:其他好文   时间:2016-04-03 23:31:09    阅读次数:179
数组结构之数组
数据结构之数组的运用,无非是增删查操作,就有序数组和无序数组进行这三种操作: 一、查找 (1)无序数组查找特定元素,线性查找: (2)有序数组查找特定元素,可以采用线性查找或者是二分查找(BinarySearch),这里我们使用二分查找 数组为升序排列或降序排列,使用二分查找代码代码有些不同,坑爹呀 ...
分类:编程语言   时间:2016-04-03 10:30:13    阅读次数:209
算法练习--直接插入排序、希尔排序
背景: 原来虽然有学过数据结构,排序一些,但是没有好好学,现在复习一下。 正题: 1、直接插入排序 直接贴一下百科:每次取出无序数组中的一个数,把他和有序数组中的数比较,插到适当位置,直到无序表为空,有序表满。 原理很简单,就我而言,首先想到的是新建一个new_list数组,充当有序表,然后一步一步 ...
分类:编程语言   时间:2016-03-30 22:14:59    阅读次数:172
求数组两个数的和的索引
做了一道题, 有一个有序数组a,包含n个元素[a1,a2,...,aN],找出相加等于x的两个数的下标。 我看到这道题,第一个想法是,这两个数肯定不止一样的,不管它要求是返回一个就行还是返回所有,我都返回所有。我用python语言实现,借鉴二分查找法,复杂度nlogn,不知道有没大神有更好的解法,我 ...
分类:编程语言   时间:2016-03-23 22:13:49    阅读次数:193
折半查找<二分查找>
折半条件:必须在一个有序数组内进行。例如:在一个数组中查找一个数,找到就输出该元素下标,如果没找到就输出-1:#include<stdio.h>#include<stdlib.h>#include<string.h>intbin_search(int*p,intx,intn){intleft=0;intright=n-1;while(left<=right){int..
分类:其他好文   时间:2016-03-21 01:52:49    阅读次数:130
两个有序数组的第n大数
两个有序数组,各自含有n个元素,求第n大的元素 1.顺序遍历两个数组,计数变量k统计出现的第k小元素,时间复杂度为O(n) 代码例如以下: 2.二分的方法 取A数组的中间元素mid1,取B数组的中间元素mid2,先比較这两个元素的大小。假设这两个元素相等,则直接返回A[mid1],假设A[mid1]
分类:编程语言   时间:2016-03-16 12:22:42    阅读次数:209
1005条   上一页 1 ... 68 69 70 71 72 ... 101 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!