![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
yrlovelr
既然选择了远方,便只顾风雨兼程
展开
-
Java实现基数排序
在众多的排序方法中基数排序比较特殊,它是一种不需要进行关键字之间比较的排序方法,利用多关键字的划分,逐渐将待排序列排好序。举个例子:现在有数组:278,109,63,930,589,184,505,269,8,83第一次根据各位数将数组划分为10个队列(当然其中的某些队列可能不含有元素)0:9301:2:3:63,834:184转载 2014-03-05 15:10:00 · 981 阅读 · 0 评论 -
去哪儿2014笔试三(java)
* 一个文件里有10万个随机正整数,按照以下规则能组合出一份新的数据 * A.如果当前数字能被3整除,那么它和文件中所有数字(包括自己)两两相加后生成一组数字替代自己的位置 * B.如果不能被3整除,则它只需要乘以二,生成一个数字替代自己的位置.例如:[3,7,6]会组合出[6,10,9,14,9,13,12] * 再如:[5,12,9,6,2]会组合出[10,17,24,21,18,原创 2014-03-05 15:23:38 · 1327 阅读 · 0 评论 -
java去哪儿笔试解决方案四
请使用自己实现的stack,实现一个整型表达式求值的函数,表示式支持的运算符有()*/+-具体说明如下1.*/优先级高于+-2.表达式中相同优先级的操作符自左向右计算3.函数输入字符串"1+(4-3)*5/5",函数返回结果为2使用api中stack将前缀转为后缀/** * 中缀表达式 转 后缀表达式 */import java.util.Arr原创 2014-03-07 14:57:58 · 1420 阅读 · 1 评论 -
java 中缀转后缀表达式(查阅别人资料后整理)
package calculator;/** * 中缀表达式 转 后缀表达式 */import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Stack;public class ExpressConvert {转载 2014-03-07 14:26:23 · 923 阅读 · 0 评论 -
迭代(iteration)和递归
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。Q.请写一段代码来计算给定文本内字符“A”的个数。分别用迭代和递归两种方式。A.假设给定文本为”AAA rating”。迭代方式就很直观,如下:123456789转载 2014-03-07 18:42:41 · 891 阅读 · 0 评论 -
avl 树旋转
AVL樹旋轉圖解AVL樹是一顆平衡樹,其左右子樹的高度差不會超過一層。爲了保持這一性質,採用旋轉節點的方式來降低高度。如下圖,紅色表示新插入的節點,一共4种情況:左左:節點1插入到左子樹的左節點,導致節點5不平衡。實際上我們只需要關心節點1、3、5,根據二叉搜索樹的性質(左 右右:和左左類似,可以通過一次右旋來實現平衡,如下圖: 左右:這种转载 2014-04-01 09:39:27 · 821 阅读 · 0 评论 -
红黑树(红黑树研究记录-实例)
插入过程插入顺序为:12 1 9 2 0 11 7 19 4 15 18 5 14 13 10 16 6 3 8 17插入节点12:为根节点 插入节点1:父节点为黑色,结束插入节点9:父节点为红色,叔父节点为黑色,LR,case2+case3插入节点2:父节点为红色,叔节点为红色,case1插入节点0:父节点为黑色,结束插入节点11:父节点为黑色,转载 2014-04-23 11:57:33 · 1983 阅读 · 0 评论 -
红黑树(红黑树研究记录-理论)
一、 什么是红黑树?红黑树,是二叉查找树的一种,相对于AVL树,通过放弃绝对的平衡而提高了插入的速度,它可以不要求节点的左右子树高度差小于2,但保证一颗子树的高度绝对小于另一颗子树高度的2倍。一棵拥有n个内部结点的红黑树的树高h红黑树性质:1. 每个结点或红或黑。2. 根结点为黑色。3. 每个叶结点(实际上就是NULL指针)都是黑色的。4. 如果一个结点是红色的转载 2014-04-23 11:55:55 · 699 阅读 · 0 评论 -
红黑树(红黑树研究记录-代码实现)
代码可以根据《红黑树研究记录-实例》那篇文章的图来验证main.cpp#include #include "RBTree.h"using namespace std;int main(int argc, char *argv[]){ int arr[20] = {12, 1, 9, 2, 0, 11, 7, 19, 4, 15, 18, 5, 14, 13, 1转载 2014-04-23 11:59:11 · 696 阅读 · 0 评论