
数据结构
文章平均质量分 50
gjanyanlig
这个作者很懒,什么都没留下…
展开
-
复习之选择排序
不多说,看图和代码package com.lyj.sort.insert;public class SelectionSort { /** * @param args */ public static原创 2011-09-12 19:17:24 · 462 阅读 · 0 评论 -
《大话数据结构》第三章线性表学习笔记
线性表(List):零个或多个数据元素的有限序列一. 线性表的顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素 结构代码:#define MAXSIZE 20typedef int ElemType;typedef struct原创 2011-10-08 16:08:05 · 1081 阅读 · 0 评论 -
《大话数据结构》第一章学习笔记
一 逻辑结构和物理结构 逻辑结构:是指数据对象中数据元素之间的相互关系。 1) 集合机构:类似于数学中的集合 2)线性结构:数据元素之间一对一的关系 3)树形结构:数据元素之间一对多的层次关系原创 2011-10-07 11:27:04 · 911 阅读 · 0 评论 -
《大话数据结构》第二章学习笔记
一. 两种算法的比较求1+2+3+4+...+100的结果算法一:#includeint main(){ int i; int sum = 0; for(i = 1; i <= 100; i++) { sum = sum + i; } prin原创 2011-10-07 14:57:54 · 978 阅读 · 0 评论 -
排序总结
排序算法平均时间最差时间稳定度额外空间备注说明冒泡排序O(n2)O(n2)稳定O(1)n小时较好选择排序O(n2)O(n2)不稳定O(1)n小时较好插入排序O(n2)O(n2)原创 2011-09-27 12:53:16 · 699 阅读 · 0 评论 -
树——二叉查找树
当进行插入,删除和查找操作中,二叉查找树的性能比迄今为止所研究的任何一种数据结构都好。1. 二叉查找树:是一棵二叉树,它可以为空,也可以不为空,有如下的性质: 1). 每个元素都有关键字,并且关键字是唯一的。 2) 非空左子树的关键字值一定小于其子树原创 2011-09-22 21:18:26 · 596 阅读 · 0 评论 -
树——概述
1. 术语先看图节点的度:指该节点的子树个数。如节点A的度是3,节点C的度是1,而节点F的度是0.树的度:树中所有节点的度的最大值。如上图中树的度是3.叶子:度为0 的节点。如节点K,L,F,G,M,I,J.父亲和儿子:节点B是节点E和F的父亲,节点E原创 2011-09-22 13:17:18 · 634 阅读 · 0 评论 -
树——二叉树之堆(待续...)
在定义堆之前先了解以下2个概念;最大树:是指在一棵树中,如果一个结点有儿子结点,其关键字值都不小于其儿子结点的关键字值。最小树:是指在一棵树中,如果一个结点有儿子结点,其关键字值都不大于其儿子结点的关键字值。1. 下面定义堆: 最大堆:是一棵原创 2011-09-22 19:10:30 · 527 阅读 · 0 评论 -
树——二叉树遍历之非递归实现
要遍历的二叉树见前一节 树——二叉树的遍历之递归实现代码如下:以后再补充原创 2011-09-22 16:29:44 · 514 阅读 · 0 评论 -
树——二叉树
在树——概述我们看到,任何树都可以表示成二叉树。二叉树和树是两个完全不同的概念,一个二叉树可以没有任何节点,树至少有一个节点。对于二叉树我们要区分左子树和右子树,而对于树来说,子树的顺序是无关紧要的。1.二叉树定义:是有限多个结点的集合,这个集合或者是空集,或者由一个根结点和原创 2011-09-22 15:15:40 · 826 阅读 · 0 评论 -
树——二叉树的遍历之递归实现
不多说,直接看图和代码要遍历的二叉树package com.lyj.test;public class Test { /** * @param args */ public static void main(S原创 2011-09-22 16:12:02 · 862 阅读 · 0 评论 -
复习之二分查找
二分查找又称折半查找前提条件: 1 采用顺序存储结构 ;2 待查找序列是有序的如果待查找序列是有序的,则二分查找是最好的查找算法。不多说,上代码普通实现package com.lyj.search;public clas原创 2011-09-17 14:33:58 · 886 阅读 · 0 评论 -
前序中序求后序
做这类题只要记住一点就OK了,前序遍历:根,左,右。中序遍历:左,根,右。后序遍历:左,右,根。虽然看起来很简单,但往往越是简单的事情越容易出错;下面是网上找的一个例子:前序:ABDGCEF 后序:DGBAECF,求后序,根据前后序画出二叉树原创 2011-09-16 20:57:21 · 837 阅读 · 0 评论 -
复习之快速排序
原理转载自http://www.cnblogs.com/yylogo/archive/2011/06/09/qsort.html,讲的非常透彻,但代码没有完全按他的思路编写package com.lyj.sort;public class QuickSort {原创 2011-09-16 19:15:19 · 521 阅读 · 0 评论 -
复习之希尔排序
继续上图和代码package com.lyj.sort;public class ShellSort { /** * @param args */ public static void main(Str原创 2011-09-13 13:08:21 · 671 阅读 · 0 评论 -
复习之冒泡排序
继续上图和代码package com.lyj.sort.insert;public class BubbleSort { /** * @param args */ public static void main原创 2011-09-12 20:07:47 · 436 阅读 · 0 评论 -
复习之插入排序
不多说,看图和代码package com.lyj.sort.insert;public class InsertionSort { /** * @param args */ public static void main(St原创 2011-09-12 18:12:13 · 436 阅读 · 0 评论 -
《大话数据结构》第四章栈与队列
1.栈是限定仅在表尾进行插入和删除的线性表 允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何元素的栈称为空栈,栈又称为后进先出的线性表,简称LIFO结构。1.1 栈的插入操作,叫做进栈,也称压栈,入栈。子弹如弹夹 栈的删除操作,叫做出栈。子弹弹出弹夹1.2 先进栈的元素是不是只能最后出栈?答案不一定,如果有3个元素,有5种可能的出栈顺序。1.3 栈的原创 2011-11-04 11:32:31 · 941 阅读 · 0 评论