
数据结构
文章平均质量分 73
jimolangge123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构排序之使用JAVA范型完成2路排序
package ch10; /** * 2-路插入排序 * @author songjie * */ public class TwoWayInsertSort { /** * * @param * @param t:原始数组 * @param s:待返回的排好序的数组 * @return * @throws IllegalArgumentException转载 2014-03-27 20:34:37 · 453 阅读 · 0 评论 -
二叉树的后序遍历实现(基于两个栈实现)
对于二叉链表的非递归遍历当属后序最难,我们仔细分析原创 2014-08-14 15:59:37 · 3242 阅读 · 0 评论 -
二叉树的遍历(前序+中序+后序)
#include #include #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define STACK_INIT_SIZE 100 //栈初始化分配量 #define STACKINCREMENT 10 //存储空间的分配增量 #define MAXQSIZE 20; typedef int Status ; //---原创 2015-05-29 21:08:15 · 470 阅读 · 0 评论 -
Java实现二叉树的遍历(多种方式实现前中后序的遍历)
二叉树的Node节点: public class Node { private char key ; private Node left ; private Node right ; public Node() { } public Node(char key){ this(key,null,null); } public Node(char key,Node原创 2015-05-29 21:31:16 · 521 阅读 · 0 评论 -
Java实现二叉排序(查找)树的操作
二叉排序树定义: 1.左子树值小于根 2.根的值小于右子树 3.其左右子树又是一颗二叉排序树 抽象数据类型定义,在Java中即是接口的定义 /* * 二叉排序树是二叉树的扩展 * 对于二叉树一般不涉及到插入和删除树中的元素,而在二叉查找树中有 * * */ public interface BinarySearchTreeADT extends BinaryTreeADT{原创 2015-05-31 15:22:57 · 691 阅读 · 0 评论 -
图的链式存储结构的建立
#include #include #define MAX_VER_NUM 20 /*图的链式存储结构*/ /*1.表结点的结构 2*e个*/ typedef struct ArcNode{ int adjvex ; //该弧所指向的顶点的位置 struct ArcNode *next ; int *info ; }ArcNode; /*2.头结点结构*/ typedef struct原创 2014-08-29 09:21:49 · 1039 阅读 · 0 评论 -
插入排序之2路插入排序
#include #include #define MAXSIZE 20 #define SIZE 100 typedef int KeyType ; typedef char InfoType ; typedef struct { KeyType key ; InfoType otherInfo ; }RedType;//记录的类型 typedef struct{ RedType原创 2014-08-22 09:36:52 · 663 阅读 · 0 评论 -
二叉树的顺序存储结构
#ifndef TREE_H #define MAX_TREE_SIZE 20 /* 二叉树的最大结点数 */ #define OK 1 #define ERROR -1 typedef int Status ; typedef char TElemType ; typedef TElemType SqBiTree[MAX_TREE_SIZE]; /* 0号单元存储根结点 */ typed原创 2014-09-02 21:23:03 · 3713 阅读 · 0 评论 -
栈的链式存储结构的实现
#ifndef LINK_STACK_H #define LINK_STACK_H #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define STACK_INIT_SIZE 100 //栈初始化分配量 #define STACKINCREMENT 10 //存储空间的分配增量 typedef int SElemType ; t原创 2014-09-07 10:51:16 · 660 阅读 · 0 评论 -
数据结构栈的数组实现初始化,入栈,出栈,获取栈顶元素,栈的长度等操作
#ifndef _STACK_H #define _STACK_H #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define STACK_INIT_SIZE 100 //栈初始化分配量 #define STACKINCREMENT 10 //存储空间的分配增量 typedef int SElemType ; typedef in原创 2014-08-05 15:39:02 · 3160 阅读 · 0 评论 -
数据结构排序之直接选择排序
直接选择排序的思想: 假设第原创 2014-08-22 10:19:52 · 582 阅读 · 0 评论 -
数据结构排序之直接插入排序
直接插入排序:是一种最简单的排序方法。 直接插入排序基本原理:它的基本操作就是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。也就是说,直接插入排序将待排序序列分成两部分,一部分是有序序列,一部分是无序的。将无序序列的数添加到有序序列中,待无序序列长度为0是,直接插入排序结束。 在直接插入排序过程中一共进行n-1趟插入,即:先将序列表中的第一个记录看成是有序的子序列,原创 2014-03-26 20:09:22 · 919 阅读 · 0 评论 -
数据结构队列的链表实现初始化,出队,出队以及显示
#ifndef _Queue_H #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int QElemType; typedef int Status; typedef struct QNode{ QElemType data ; struct QNode *next ; }QNode , *QueuePtr; typ原创 2014-08-07 21:24:06 · 796 阅读 · 0 评论 -
数据结构线性表的动态顺序实现增删改查
#include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef int Status ; typedef int ElementType ;原创 2014-07-03 19:35:00 · 702 阅读 · 0 评论 -
数据结构之链表实现增删改查
#include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef int Status ; typedef int ElementTyp原创 2014-08-04 14:56:34 · 1031 阅读 · 0 评论 -
数据结构排序之冒泡排序
冒泡排序 原理:首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换,然后比较第二个记录和第三个记录的关键字。依次类推,直到第n-1个记录和第n个记录分关键字进行过比较。这属于第一趟冒泡排序。然后按照上面的顺序在进行前n-1,n-2,... 1个数的冒泡排序。 冒泡排序之所以被称作是冒泡排序是因为:关键字较小的记录好比水中的气泡逐趟向上漂浮,而关键字较大的记录好比石原创 2014-03-25 09:46:27 · 622 阅读 · 0 评论 -
数据结构排序之快速排序
快速排序:在实践中最快的已知排序算法,它的平均运行时间是O(nlogn) 。该算法之所以快是因为非常精炼和高度优化的内部循环,它是冒泡排序的一种改进。它最坏的情况会退化成冒泡排序,时间复杂度是O(n*n)。但是稍加努力就会避免这种情况的发生,一会给出详细的解决办法。 快速排序思想:首先第一步选出一个支点(枢轴),通过一趟快速排序将待排序记录按照支点分割成两个独立的部分,其中一部分记录的原创 2014-03-26 17:22:12 · 671 阅读 · 0 评论