使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组。使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组。写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组functio...
分类:
编程语言 时间:
2015-08-03 16:43:50
阅读次数:
142
//// main.c// Pointer_search//// Created by ma c on 15/8/2.// Copyright (c) 2015年 bjsxt. All rights reserved.// 要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同...
分类:
编程语言 时间:
2015-08-03 00:43:48
阅读次数:
373
题目:
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路解析数据是从数据流读出,因此数组的个数是再逐渐的增加。如何选用一个容器,能够存储数据,并能够给出中位数。
无序数组:插入O(1) partation操作找出中位数 O(n)
有序数组:插入O(n) 找出...
分类:
其他好文 时间:
2015-08-02 18:17:31
阅读次数:
160
归并排序:原理与C语言实现参考:白话经典算法系列之五 归并排序的实现1. 容易对有序数组A,B进行排序。2. 为了使得A,B组内数据有序:可以将A,B组各自再分成二组。3. 经过不断分组,当分出来的小组只有一个数据时(有序),合并相邻二个小组。这样通过先递归的分解数列,再合并数列就完成了归并排序。代...
分类:
编程语言 时间:
2015-08-02 00:50:39
阅读次数:
187
一、为什么使用二叉树? 为什么要用到树?因为它通常结合了另外两种数据结构的优点:一种是有序数组,另一种是链表。在树中查找数据项的速度和在有序数组中查找一样快,并且插入数据项和删除数据项的速度也和链表一样。二、二叉树的定义 如果数种每个节点最多只能有两个子节点,这样的树称为“二叉树”。二叉树的每个.....
分类:
其他好文 时间:
2015-07-30 23:13:20
阅读次数:
154
题目:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
题解:
和我上面一篇将有序链表转成二叉排序树中用哈希表解的方法是一样的,基本思路:链表中间那个节点为树的根节点,根节点的左子树节点应该是根节点左边那部分的中间节点,根节点的右节点应该是根...
分类:
编程语言 时间:
2015-07-30 09:31:01
阅读次数:
120
首先我们可以先想象一下,将两个有序的数组A、B合并成一个数组C有什么好的办法。我们只需从两个数组的第一位开始比较就可以了,但是到最后一定会有一个数组会剩下一些元素,我们只需将其全部连接到C后面就可以了,这样是不是很简单,而且时间效率也达到了O(n)。
//将有序数组a[]和b[]合并到c[]中
void MemeryArray(int a[], int n, int b[], int m, in...
分类:
编程语言 时间:
2015-07-30 00:47:42
阅读次数:
158
题目描述:
统计一个数字在排序数组中出现的次数。
如输入排序数组 {1,2,3,3,3,3,4,5} 和数字3,由于 3 在数组中出现了 4 次,因此输出 4.解析:
在有序数组中查找一个数可以联想到二分查找。
如例子中,要查找3的次数,二分查找,找到3后,它的左右两边可能都有3,因此两边都要查找,如果3在数组中出现了n次,则时间复杂度O(n),二分查找没有起到作用。假设我们要在数组中查找...
分类:
编程语言 时间:
2015-07-29 15:54:46
阅读次数:
159
HDU 4288
题意:太长。。点进去自己看吧
思路:
一道模拟题,但直接模拟会卡TLE,所以进行些许优化,将复杂度/5.
简而言之就是用一个有序数组来模拟set。
优化是利用lower_bound函数,这里简介下lower_bound 与 upper_bound 的区别:
摘自:http://blog.csdn.net/weiguang_123/article/details/7...
分类:
其他好文 时间:
2015-07-27 23:02:20
阅读次数:
135
归并排序思想:将一个数组分成两部分分别排序(使用递归),然后将结果合并起来,即将最后两个有序的数组归并成一个更大的有序数组。
时间复杂度O(n) = NlogN
归并排序最吸引人的性质是它能保证将任意长度为N的数组排序所需时间和NlogN成正比,而缺点便是它所需的额外空间和N成正比。
归并排序又分为自顶向下的排序方式和自底向上的排序方式:
自顶向下的排序方式是利用了分治的思想,将一个大问题...
分类:
编程语言 时间:
2015-07-24 20:54:17
阅读次数:
181