//第一次尝试:#include<stdio.h> int main() { int arr[] = { 1,2,3,4,5,6,7 };//查找6 int left = 0; int right = sizeof(arr) / sizeof(arr[0]) - 1; //printf("%d\n" ...
分类:
其他好文 时间:
2020-10-19 22:32:05
阅读次数:
15
LSM(Log-Structured MergeTree) 树 LSM树核心思想是放弃部分读能力,换取写入的最大化能力。LSM 树的核心思路其实非常简单,就是假定内存足够大,因此不需要每次有数据更新就必须将数据写入到磁盘中,而可以先将最新的数据驻留在内存中,等到积累到足够多之后,再使用归并排序的方式 ...
分类:
其他好文 时间:
2020-10-16 11:14:04
阅读次数:
23
new new用构造函数创建实例对象,为实例对象添加this属性和方法。 new在调用过程中实现了以下几个步骤: 创建一个新的对象 链接到原型,将该对象 obj 的原型链指向构造函数的原型 prototype 绑定this,让this变量指向这个新创建的对象 返回新对象 1 function cre ...
分类:
移动开发 时间:
2020-10-12 20:04:55
阅读次数:
32
目录 简介 快速排序的例子 快速排序的java代码实现 随机快速排序的java实现 快速排序的时间复杂度 简介 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之 ...
分类:
编程语言 时间:
2020-10-12 19:57:37
阅读次数:
27
public static void main(String[] args) { int v = 1; int[] a = {1,2,3,4,5}; int left = 0; int right = a.length - 1; while (left <= right) { int mid = ( ...
分类:
编程语言 时间:
2020-10-10 17:46:50
阅读次数:
31
归并排序的两种方法 递归(自顶向下) 将一个大的无序的数组分成两个,然后拿出其中一个再分为两个···一直这样下取,直到最后剩下一个,那么这只包含一个元素的数组就是有序的了,然后将两个这样的数组通过merge方法有序的合并,一级一级,直到最开始的两个合并了就排序完了 先实现一个merge用来将两个有序 ...
分类:
编程语言 时间:
2020-10-08 19:03:04
阅读次数:
21
排序的第二天_快速排序与归并排序 快速排序 原理: 快速排序,说白了就是给基准数据找其正确索引位置的过程.,其实快速排序的本质就是把基准数大的都放在基准数的右边,把比基准数小的放在基准数的左边,这样就找到了该数据在数组中的正确位置. 以后采用递归的方式分别对前半部分和后半部分排序,当前半部分和后半部 ...
分类:
编程语言 时间:
2020-10-06 21:13:57
阅读次数:
27
/** 归并排序思路:* 1.将一个数列 先分后治* 先对半分,数列对半分,分到最后一个,然后在两两治,合并成一个有序列* 在从2个有序列合并一个有序,知道合并完成** */import java.util.Arrays;public class MergetSort { public static ...
分类:
编程语言 时间:
2020-10-06 19:54:22
阅读次数:
28
importjava.util.Scanner;publicclassMain{publicstaticvoidsort(int[]arr,intleft,intright){if(left>=right){return;}intm=(left+right)>>>1;sort(arr,left,m);sort(arr,m+1,right);int[]tmp=newint[r
分类:
编程语言 时间:
2020-09-18 02:46:24
阅读次数:
36
平衡树 1. 二叉搜索树的优点 二叉搜索树作为数据存储的结构,最大的优势是可以快速找到给定关键字的项,并且可以快速的实现插入和删除数据操作 因为二叉搜索树采用了二分查找的策略 2. 二叉搜索树存在的问题 但是二叉搜索树有一个麻烦的问题:若插入的数据是一个有序数列(从小到大/从大到小),会造成二叉搜索 ...
分类:
其他好文 时间:
2020-09-17 23:05:38
阅读次数:
28