数据结构
文章平均质量分 76
JMathias
这个作者很懒,什么都没留下…
展开
-
排序、查找
一、冒泡排序将每个数字与相邻的下一个数字进行比较,如果当前数字大于相邻的下一个数字,就交换/* *冒泡排序的原理: * *将每个数字与相邻的下一个数字进行比较,如果当前数字大于相邻的下一个数字,就交换; */publicclass Demo {publicstatic void main(String[] args) {int[]intArr原创 2016-03-17 15:06:47 · 396 阅读 · 0 评论 -
java二叉树非递归之中序遍历
思路:使用辅助栈改写递归程序,中序遍历没有前序遍历好写,其中之一就在于入栈出栈的顺序和限制规则。我们采用「左根右」的访问顺序可知主要由如下四步构成。步骤:1.首先需要一直对左子树迭代并将非空节点入栈2.节点指针为空后不再入栈3.当前节点为空时进行出栈操作,并访问栈顶节点4.将当前指针p用其右子节点替代步骤2,3,4对应「左根右」的遍历结构,只是此时的步骤2取的左值为空。/*转载 2016-10-28 00:02:51 · 359 阅读 · 0 评论 -
java二叉树非递归之前序遍历
思路:采用栈来实现非递归遍历步骤:1.对root进行异常处理2.将root压入栈3.循环终止条件为栈s为空,所有元素均已处理完4.访问当前栈顶元素(首先取出栈顶元素,随后pop掉栈顶元素)并存入最终结果5.将右、左节点分别压入栈内,以便取元素时为先左后右。6.返回最终结果/** * Definition for a binary tree node. *转载 2016-10-28 00:04:10 · 424 阅读 · 0 评论 -
Java面试之斐波纳契数列递归与非递归实现
问题:查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 解答:(一)递归实现:class Solution { /** * @param n: a转载 2016-10-28 00:12:42 · 504 阅读 · 0 评论 -
Java实现经典排序算法及复杂度稳定性分析
/* 冒泡排序 */ public static int[] bubbleSort(int[] arry) { for (int i = 0; i < arry.length; i++) { for (int j = i; j < arry.length - i - 1; j++) {转载 2016-10-28 00:09:56 · 2161 阅读 · 0 评论 -
查找算法
/** * 一、顺序查找 * 说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表 **/ /** * 在s[0]-s[n-1]中顺序查找关键字为Key的记录 ,查找成功时返回该记录的下标序号;失败时返回-1 */ int SequelSearch(elemtype s[], keytype Key, in转载 2016-10-28 00:27:50 · 617 阅读 · 0 评论