
1.开放地址法#
前序遍历——根 左 右
中序遍历——左 根 右
后序遍历——左 右 根
1 | class Stack_BinaryTree{ |
在所有兄弟结点之间加一条连线。
输入是List
1 | package com.interview.sort; |
输入是Array
1 | import java.util.Arrays; |
1 | import java.util.Arrays; |
1 | import java.lang.reflect.Array; |
1 | public class Tower_demo { |
通过二叉树的中序遍历过程来分析汉诺塔问题:
考虑A、B、C三根柱子,A上从上到下有1、2、3三个数,要把A上的数移动到C上,其过程应该是
** A B C**
初始 123
A->C 23 1
A->B 3 2 1
C->B 3 12
A->C 12 3
B->A 1 2 3
B->C 1 23
A->C 123
可以写成下图二叉树的中序遍历
在程序中有两个输出语句,
结束条件中的数据语句输出的是二叉树中的叶子结点
递归左子树和递归右子树中间的输出语句输出是所有的非叶子结点
所有左孩子和右孩子输出语句中得到的实际参数都是其父结点传递的,根节点输出语句得到的参数是初始传递的参数
轮换的含义
1.c ats –> 2.ca st
3.c tsa –> 4.ct as
5.c sat –> 6.cs ta
1 | import java.io.BufferedReader; |
1 | import java.io.BufferedReader; |
1 | import java.io.BufferedReader; |
1 | import java.io.*; // for I/O |
在Ubuntu中,利用locale命令
运行locale指令得到当前系统编码设置的详细资料。
一、locale的五脏六腑
1、 语言符号及其分类(LC_CTYPE)
2、 数字(LC_NUMERIC)
3、 比较和排序习惯(LC_COLLATE)
4、 时间显示格式(LC_TIME)
5、 货币单位(LC_MONETARY)
6、 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
7、 姓名书写方式(LC_NAME)
8、 地址书写方式(LC_ADDRESS)
9、 电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式(LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
二、理解locale的设置
设定locale就是设定12大类的locale分类属性,即 12个LC_*。除了这12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALL和LANG。
它们之间有一个优先级的关系:LC_ALL > LC_* > LANG
可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。
三 具体设定locale的方法(zh_CN.UTF-8、zh_CN.GBK)
freebsd的设置:
1.GDM登录改为终端登录后startx启动图形桌面