`
wubin_025
  • 浏览: 19263 次
  • 来自: ...
社区版块
存档分类
最新评论
文章列表
1、算法描述 利用堆(大根堆或小根堆)这种数据结构所设计的一种算法。 堆:堆是一个特定的完全二叉树,树中的任一节点的值都不大于(或不小于)其左右孩子(如果存在)节点的值。 操作步骤(以大根堆为例) 初始序列无需区R(1,n),有序区为空 (1)、对无序区建大根堆。 (2)、交换大根堆的堆顶和堆的最后一个元素,得到新的无序区以及有序区 (3)、重复(1)(2)直至无序区的元素个数为1 (4)、对整棵树做顺序访问 2、图例 3、代码 public void ...
1、算法描述 快速排序是冒泡排序的一种改进。快速排序是通过一次排序将待排序列分成两部分,一部分小于等于基准数,一部分大于等于基准数,再分别对两部分进行快速排序。 一趟快速排序的操作步骤 (1)、设置两个变量i和j,i=0,j=n-1。 (2)、以data[0]为基准数,mark=data[0] (3)、j向前搜索(j--),找到第一个小于基准数mark的数data[j],交换data[j]与data[i] (4)、i向后搜索(i++),找到第一个大于基准数mark的数data[i],交换data[i]与data[j] ...
1、算法描述 每一趟从待排序列中选择一个最小的放到待排序列的开头。 操作步骤 初始无序区R(1,n),有序区s为空 (1)、从无序区中选择一个最小的,与无序区的第一个数交换,无序区向后退1,有序区加1。 (2)、重复(1),直至无序区剩下最后一个数。 2、图例 3、代码 public void sort(int[] data) { for (int i = 0; i < data.length - 1; i++) { int min = i; for (int j = i; j < data.length ...
1、算法描述 依次比较相邻的数剧,将小的数排前面,大的排后面。 操作步骤 (1)、从第一个元素开始,依次与后一个数比较,小数放前,大数放后,结果是最大的放到了最后。 (2)、对前n-i个数重复(1),i从1至n-2,n为原序列大小。 2、图例 3、代码 public void sort(int[] data) { for (int i = data.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { if (data[j + 1] < data ...
排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。 排序是算法里面最基础的东西,用到的地方很多,比如各种榜单,各类搜索等。排序的方法也很多,下面一起回顾一下一些通用的排序方法。 排序算法一般考虑稳定性,平均时间复杂度,空间复杂度 稳定性:说一个排序是稳定的,就是当有两个有相等数a和b,且在原本的序列中a出现在b之前,在排序过的序列中a也将会是在b之前 平均时间复杂度: 时间复杂度与程序的语句的执行次数有关。如果语句的执行次数与序列的大小没有关系时,称为O(1)。 常数阶O(1),对数阶O(lo ...
1、算法描述 下面主要讲直接插入排序 记得算法导论里面说过,插入排序就是很多人玩扑克时摸牌阶段做的事,牌堆里面的牌是没有顺序的,而手里的牌是有序的,每次摸一张牌的时候都要找一个位置插入,以保持手里牌的有序。 操作步骤 (1)、从第一个元素开始,该元素可以认为已经被排序 (2)、取出下一个元素,在已经排序的元素序列中从后向前扫描 (3)、如果该元素(已排序)大于新元素,将该元素移到下一位置 (4)、重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 (5)、将新元素插入到下一位置中 (6)、重复步骤2 2、图例 3、代 ...
1、启动 像前面用过的:./mongod -config "/opt/config.conf" 当然你也可以将配置文件中的配置信息直接写在命令行里。 2、停止 有三种方式可以停止,当然更方便的是拔电源 (1)、> use admin > db.shutdownServer() (2)、db.adminCommand({shutdown : 1}) (3)、直接kill掉mongodb的进程(不要使用kill -9,有可能会丢失数据的) 3、备份与恢复: 冷备份: 关闭mongod,拷贝 ...
这篇主要介绍下mongodb的基础操作。 1、create (1)、创建数据库,创建表:mongodb不需要这些创建操作,看我存储篇中举的例子。 (2)、创建索引 : db.user.ensureIndex({'name': 1}); // 创建子文档索引 db.user.ensureIndex({'addr.mobile': -1}); // 创建复合索引 db.user.ensureIndex({ 'name': 1, // 升序 'sex': -1 // 降序 }); 如果已经为子键创建了索引,那么其包含的子 ...
前面已经说过mongodb是文档型存储的,bson方式存储的,下面主要通过逻辑和物理两方面分别描述下mongodb的存储方式。 1、逻辑存储结构 先看一条数据: save语句太长了,截图不好截,摘出来了: db.user.save({name:"test_a&quo ...
1、下载mongodb 下载地址:http://www.mongodb.org/downloads 下载注意事项: (1)选择对应的平台下载包。 (2)选择稳定的版本。 我这下载的是mongodb-linux-x86_64-2.0.6.tgz 2、安装启动mongodb(注:由于我这只有一台机器空闲,故主备和集群的都 ...
说到选型,肯定避免不了几个问题,优缺点,适用场合,上手容易度,技术的成熟度,社区的活跃度等。下面就这几个问题简单说说。 1、优缺点: mongodb作为一个很热门的nosql数据库有着比较多的优点,大概归纳为以下五点。 (1)、无模式 mongodb是一个文档型存储的数据库,每一行数据都是一个文档,每一个文档中的字段可以不一致,个数也可以不相同,而且是一个以bson方式存储的文档。bson: short for Bin­ary JSON (2)、高性能 mongodb的高性能是怎么实现的呢? ...
Jni中还可以采用RegisterNatives来注册jni的方法,注册以后的jni函数的命名可以不需要符合类似javah命令生成的函数的规则 RegisterNatives为JNIEnv的成员函数,声明为: jint (JNICALL *RegisterNatives) (JNIEnv *env, jclass clazz, const JNINativeMethod *meth ...
我们在安装环境的时候安装了NDK,可以在eclipse下直接生成so文件。NDK的压缩包里面自带了一些sample工程,NDK的文件直接解压到某个目录下即可。 第一次生成so文件的时候,我们先使用NDK的sample下的hello-jni的例子。 1、启动eclipse,通过Create project from existing source,选择hello-jni的目录,按默认选项创建工程即可; 2、观察hello-jni的工程目录结构,发现根目录下多了一个名叫jni的文件夹,该文件夹下面有两个文件,Android.mk和hello-jni.c。 Android.mk是用来生成s ...
我们创建了android的工程,接下来有一个问题了,我们该怎么运行创建的程序呢?所以我们需要一个android的模拟器。配置环境的时候我们安装了android的SDK,在eclipse->window下有一个AVD(AndroidVirtual Device) Manager,点击New…按钮新建一个模拟器,主要要填的有Name,Target,SD Card Size(建议1GB以上,为以后在SD卡中放各种测试文件做准备),填好以后就可以Create AVD了。由于需要建立和SD Card Size一样大小的映像文件,所以创建的size越大所耗费的时间也就越多,不要着急哦。 ...
许是因为在大学第一个写的程序就是HelloWorld,以后每次学一个新的东西,总是没有出息的先建一个HelloWorld的程序。也是,任何东西新出来,都需要和这个世界打个招呼吧,hello,world! 言归正传,开始和这世界打个招呼吧。 1 ...
Global site tag (gtag.js) - Google Analytics