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