#include<stdio.h> #include<stdlib.h> //归并作用是将两个序列合并 L = 左边起始位置,R = 右边起始位置 RightEnd = 右边终点位置 void Merge(int A[],int TmpA[],int L,int R,int RightEnd) { ...
分类:
编程语言 时间:
2017-05-21 18:56:51
阅读次数:
197
1,2,二路并归排序:设数组a中存放有n个数据元素,初始把他们看成是n个长度为1的有序子数组,然后从第一个子数组开始把相邻的子数组两两合并,得到n/2的整数上界个长度为2的有序子数组,当n为基数时最后一个新的有序子数组长度为1;对这些新数组再两两归并,最后得到一个长度为n的有序数组为止。对于二路的并... ...
分类:
其他好文 时间:
2017-05-20 19:28:41
阅读次数:
146
TreeNode createMinimalBST(int arr[], int start, int end) { if (end < start) { return null; } int mid = start + (end - start) / 2; TreeNode n=new TreeN ...
分类:
编程语言 时间:
2017-05-20 17:16:59
阅读次数:
101
1 package demo04; 2 3 import java.util.Arrays; 4 5 public class ArraysDemo { 6 public static void main(String[] args) { 7 8 //static void sort(任意类型数组)... ...
分类:
编程语言 时间:
2017-05-19 23:53:13
阅读次数:
261
对于一个含有n个数的有序数组1~N,能够产生多少种不同结果的二叉搜素树BST? 如何生成这些不同结构的BST? 1 class Solution { 2 public: 3 int numTrees(int n) { 4 int* dp = new int[n+1]; 5 dp[0] = 1; 6 ... ...
分类:
编程语言 时间:
2017-05-17 11:50:30
阅读次数:
243
一、普通的二分查找算法: 二、查找关键元素在有序数组中的首次出现位置: 三、查找关键元素在有序数组中的末次出现位置: ...
分类:
其他好文 时间:
2017-05-16 11:03:47
阅读次数:
186
冒泡排序算法 二分查找法(折半查找,前提是必须是有序数组) ...
分类:
编程语言 时间:
2017-05-12 16:34:44
阅读次数:
485
//两个有序数组的合并函数 public static int[] MergeList(int a[],int b[]) { int result[]; if(checkSort(a) && checkSort(b)) //检查传入的数组是否是有序的 { result = new int[a.l..... ...
分类:
编程语言 时间:
2017-05-04 13:29:42
阅读次数:
149
一、 题目 将给定的两个排好序的数组合并成一个有序数组。 二、 分析 看到题目后感觉非常easy。就是比較两个数组中的元素嘛,可是刚開始发现假设合并到A[]中从前到后的话可能会导致原数据该,如何才干避免这样的错误呢?于是想到了逆向合并,从后往前填入数组。 class Solution { publi ...
分类:
其他好文 时间:
2017-05-03 10:29:49
阅读次数:
156
package com.hzins.suanfa; import java.util.Arrays; /** * * 两个有序数组组成一个有序的数组 * 整个循环层数为1 * 以其中一个数组做循环,注意另外一个的index是否溢出以及另外一个是否没有遍历完成 * * @author Administ... ...
分类:
编程语言 时间:
2017-04-29 20:02:23
阅读次数:
170