数据结构
在编攻城狮
在编攻城狮
展开
-
实现二叉树(包括前序、中序、后序遍历算法)
以前没有记笔记的习惯,结果发现曾经实现过的东西居然都忘了,现在又需要花时间去看,去写,虽然又有所收获,但是毕竟在走重复的路。从今天起,开始打路标,为了以后少走回头路:)还请高手多指点,不胜感激!用Java语言实现二叉树:1、首先定义一个二叉树节点类:实现1)向某个节点下面添加节点方法;2)从某个节点前序遍历所有树节点;3)从某个节点中序遍历所有树节点;4原创 2012-05-21 00:45:54 · 2047 阅读 · 2 评论 -
快速排序算法
温习以前学过的东西时,突然发现不记得快速排序的内容是什么了。于是决定重写一遍。网上写这种算法的文章挺多的,呵呵。快速排序的思想是选其中一个数为基准值,然后拿数组中的其它数和基准数比较,比它小的放在前面,比它大的放在后面,然后分别对比它小的那组数据进行排序、对比它大的那组数据进行排序……我的想法是取一个基准数,然后拿后面所有的数跟它比较,找出所有比它小的数,然后把基准数置换到中间,后原创 2012-05-20 23:01:00 · 873 阅读 · 0 评论 -
蜂窝小区最短距离实现 (数学归纳法+广度优先算法)
题目描述:如图:由正六边形组成的蜂窝小区中,每个正六边形的编号也如图所示。求任意2点间的距离。(规定最大编号不超过100000)分析:1、求2点间的距离,第一印象就想到了广度优先算法(广度优先算法简单介绍:如图中的1点找编号为9的点时,可以第一次广度优先找到第二圈的所有元素,第二圈的元素再广度优先可以找到了9号点,所以必有一点可以从1点到9点,且距离为2)。但广度优先算原创 2013-05-28 00:32:21 · 19922 阅读 · 17 评论 -
卒的移动问题(JAVA)
一、问题描述:1、在部分的象棋棋盘(都是方格,大小可从键盘输入)中,假设卒只能向下或者向右移动,且卒在原点A(0,0)位置,求卒移动到棋盘最大的终点位置B(m,n)的所有路径数;2、约定B点不同于A点;二、思路:1、通过排列组合方法解题;2、通过面向对象构造模型解;我选择使用Java语言实现第二种。1、第一次直接使用迭代实现,发现效率极其低下,在棋盘较大原创 2013-05-14 00:21:34 · 1975 阅读 · 0 评论 -
判断凸多边形并排序算法
在平面直角坐标系中,给定一个点序列,判断这些点是否能够构成凸多边形,并且按照顺时针方向输出这些点。其他要求:1.输出的起始的为距离原点最近的点,如果多点距离原点相等,取其中任一点即可;2.如果有3个或者以上点在一条直线上,输出"ERROR";输入输出格式要求:1.输入为用逗号分隔的10进制整形数字序列的字符串形式,两两组成一个坐标点,如:"0,0,1,0,1,1原创 2016-04-17 23:01:34 · 8369 阅读 · 2 评论