
数据结构
eclipse_xu
Android开发
展开
-
算法研究之二叉树小球下落
有一幅二叉树, 最大深度为D. 且所有叶子的深度都相同. 所有结点从上到下从左到右编号为1,2,3.….2D- l . 在结点1 有一个小球,它会往下落. 每个内结点上都有一个开关,初始全部关闭,当每在有小球落到个开关上时, 开关都会改变. 当小球到这一个内结点时.如果该结点上的开夫先闭, 贝小球往左走, 否则往右走,直到走到叶子结点, 如图6-8 所示.一些小球从结点原创 2012-12-24 15:30:48 · 3347 阅读 · 0 评论 -
算法研究之插入排序、冒泡排序
1、插入排序:插入是比较简单的一种排序方法,基本思想就是把数据分组两段,一部分是有序,另一部分是待排序的。把有序的数据不断的加大到全数组完成排序。从左到右将有序数组逐渐增大。public class Sort { public void insertSort(int[] arrays) { for (int i = 0; i < arrays.length; i++) {原创 2012-12-21 17:06:16 · 2117 阅读 · 0 评论 -
算法研究之最大公约数
公约数:假设有两个数a,b,所谓的公约数就是能把a,b整除的最大整数。求最大公约数的方法有很多。方法1:穷举法,即通过循环找到一个2个数都能整除的数public class Divide { public int getMaxDivide(int a,int b){ int value=0,min=0,max=0; if(a==b){ return a; }原创 2012-12-21 15:51:15 · 1955 阅读 · 0 评论 -
算法研究之左旋字符串
今天看了一个大牛在网上写的关于算法的研究,感触颇深,所以写下跟随其脚步研究的过程。定义:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。长度为7的数组,左旋2位即右移4位。让我们首先来看一个算法:先不考虑字符串的左旋,而是考虑一个字符数组的左旋——设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复原创 2012-12-20 18:27:35 · 1996 阅读 · 0 评论 -
算法研究之快速排序
所谓的快速排序的思想就是,首先把数组的第一个数拿出来做为一个key,在前后分别设置一个i,j做为标识,然后拿这个key对这个数组从后面往前遍历,及j--,直到找到第一个小于这个key的那个数,然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++;一直循环到i=j结束,当这里结束后,我们会发现大于这个key的值都会跑到这个key的后面,不是的话就可能你写错了,小于这个key的就原创 2012-12-21 16:43:14 · 2580 阅读 · 4 评论 -
算法研究之字符串包含
今天看到一道算法题:给定一长一短的俩个字符串A,B,假设A长B短,现在,要你判断B是否包含在字符串A中。比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPOM 答案是true,所有在string2里的字母string1也都有。 如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS原创 2012-12-21 11:21:05 · 1943 阅读 · 0 评论