DataStruct
文章平均质量分 69
my_adu
钻石骨灰级宅男
展开
-
(编程训练)再回首,数据结构——哈夫曼编码的实现
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】根据给定字符的使用频率,为其设计哈夫曼编码【基本要求】·功能:求出n个字符的哈夫曼编码·输入:输入n个字符和字符在电文中的使用频率·输出:n个字符的哈夫曼原创 2015-05-28 12:36:55 · 1338 阅读 · 0 评论 -
再回首,数据结构——字符串与数组的常见操作(顺序存储)
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//串的順序存儲結構#define MaxSize 字符串可能達到的最大長度typedef struct{ char ch[MaxSize]; int StrLength;}SeqString;//賦值運算 Assignvoid As原创 2015-05-28 11:19:50 · 816 阅读 · 0 评论 -
(编程训练)再回首,数据结构——(升级版)使用栈判断括号匹配
点击打开 基础版 最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。/* ********************************************************** * 3-2 *原创 2015-05-28 11:19:37 · 950 阅读 · 0 评论 -
(编程训练)再回首,数据结构——入队列、出队列操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。#include#include #define MaxSize 20//定义数据结构typedef struct { int elem[MaxSize]; int原创 2015-05-28 11:15:25 · 862 阅读 · 0 评论 -
再回首,数据结构——链队列上的其它一些算法
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//将链队列 q 中的正整数、零和负整数分别存放在两条不同的链队列q1,q2中//并且q1,q2中的值要求保持原来的顺序。int Splitting (LinkQueue q, LinkQueue *q1, LinkQueue *q2){ wh原创 2015-05-28 11:16:26 · 1057 阅读 · 0 评论 -
再回首,数据结构——循环队列上的常见操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//循环队列的类型描述#define MaxSize Ntypedef struct { ElementType elem[MaxSize]; int front, rear;}CirQueue;//初始化队列CirQue InitQ原创 2015-05-28 11:12:38 · 568 阅读 · 0 评论 -
再回首,数据结构——链栈的其它一些操作和应用
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 1.共享栈的实现//共享栈#define MaxSize Ntypedef struct{ ElementType elem[MaxSize]; int top1, top2;}ShareStack;//入栈 Push(s,原创 2015-05-28 11:10:18 · 636 阅读 · 0 评论 -
再回首,数据结构——链栈上的常见操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//栈的链式存储结构typedef struct snode{ ElementType data; struct snode *next;}StackNode;typedef StackNode *LinkStack;//初始化栈原创 2015-05-28 11:09:57 · 370 阅读 · 0 评论 -
再回首,数据结构——顺序栈上的常见操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//顺序栈的类型#define MaxSize Ntypedef struct{ ElementType elem[MaxSize]; int top;}SeqStack;//初始化堆栈 StackInit()SeqStack St原创 2015-05-28 11:08:23 · 746 阅读 · 0 评论 -
(编程训练)再回首,数据结构——链表上的编程训练_实现多项式运算
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。#include using namespace std;//实训2:多项式的表示和相加/*建立多项式节点*/typedef struct PNode{ int exp;原创 2015-05-28 11:07:15 · 752 阅读 · 0 评论 -
(编程训练)再回首,数据结构——顺序表上的编程训练
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。/*C语言描述建立一有序的顺序表,并实现下列操作:1.把元素x插入表中并保持有序;2.查找值为x的元素,若找到将其删除;3.输出表中各元素的值。*/#include #define MAXSI原创 2015-05-28 11:05:25 · 1162 阅读 · 1 评论 -
再回首,数据结构——线性表、链表上的常见算法
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//1.编写算法实现线性表就地逆置的操作void InverseList (SeqList l){ for (i = 0; i <= (l.length-1)/2; i++) { l.elem[i] l.elem[l.length-1-i原创 2015-05-28 11:03:42 · 1219 阅读 · 0 评论 -
再回首,数据结构——链表上的常见操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//线性表的链式存储结构typedef struct Lnode{ ElemType data; struct Lnode *next;}ListNode;typedef ListNode *LinkList;//单链表的查找运算LinkL原创 2015-05-28 11:03:06 · 755 阅读 · 0 评论 -
再回首,数据结构——头插法、尾插法建表
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 //头插法建表原创 2015-05-28 10:53:48 · 1352 阅读 · 0 评论 -
再回首,数据结构——字符串与数组的常见操作(链式存储,包含朴素匹配算法等)
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//鏈式存儲的數據結構typedef struct node{ char data; struct node *next;}strLink;// 塊鏈#define NodeNum 節點中存放的字節數typedef struct n原创 2015-05-28 11:22:21 · 997 阅读 · 0 评论 -
再回首,数据结构——树的常用术语、树和二叉树的存储结构
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//树的常用术语/* 1.结点(Node) 2.度(Degree) 3.树的度 4.叶子(Leaf) 5.分支结点 6.孩子和双亲(Child & Parent) 7.兄弟(Sibling) 祖先和子孙(Ance原创 2015-05-28 11:22:45 · 706 阅读 · 0 评论 -
再回首,数据结构——树的先序、中序、后序遍历的递归与非递归实现
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 1.二叉树遍历算法的递归实现 这个较为直观,但是效率不是太高//1.先序遍历void PreOrder (BinTree root){ if (root != NULL) { printf ("%c", root->d原创 2015-05-28 11:24:51 · 470 阅读 · 0 评论 -
再回首,数据结构——图的常用术语,邻接矩阵、邻接表存储结构
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 //图的常用术语 1.邻接点;2.顶点的度、入度、出度;3.完全图、稠密图和稀疏图;4.子图;5.路径;6.连通图、连通分量;7.强连通图、强连通分量;8.权、网;//邻接矩阵的存储结构#defi原创 2015-05-28 11:27:22 · 709 阅读 · 1 评论 -
再回首,数据结构——树和二叉树的常用算法
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//建立二叉树的二叉链表存储结构 (先序)void CreateBinTree(BinTree *root){ char c; if('#'==(c=getchar())) *root=NULL; else { *root=(BT原创 2015-05-28 11:27:13 · 875 阅读 · 0 评论 -
(编程训练)再回首,数据结构——使用栈判断括号匹配
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 /* ********************************************************** * 3-2 * 输入任一表达式,“#”为表达式的结束符,原创 2015-05-28 11:17:04 · 710 阅读 · 0 评论 -
再回首,数据结构——链式队列上的常见操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//链队列的类型描述typedef struct Qnode{ ElementType data; struct Qnode *next;}QueueNode;typedef struct{ QueueNode *front, *re原创 2015-05-28 11:14:48 · 774 阅读 · 0 评论 -
再回首,数据结构——顺序表的常见算法
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 //2.2顺序表上基本运算的实现//自定义结构类型#define MAXSIZE 1000typedef struct{ ElemTyp原创 2015-05-28 10:58:24 · 759 阅读 · 0 评论 -
(编程训练)再回首,数据结构——二叉排序树的建立
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】以输入的一组整数作为关键字的值,构造其对应的二叉排序树,并对给点的值在该二叉排序树上进行查找 【基本要求】·输入:输入一组关键字(整数)及要查找的值原创 2015-05-28 12:38:17 · 1423 阅读 · 0 评论 -
(编程训练)再回首,数据结构——无向图的邻接矩阵表示、DFS、BFS
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】建立图的邻接矩阵存储结构,实现图的遍历【基本要求】·功能:建立图的邻接矩阵存储结构,实现图的BFS、DFS·输入:输入连通图的顶点数、顶点信息、边数、顶点对序原创 2015-05-28 12:37:06 · 1912 阅读 · 1 评论 -
(编程训练)再回首,数据结构——二叉树的前序、中序、后序遍历(非递归)
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 可以和 (编程训练)再回首,数据结构——二叉树的前序、中序、后序遍历(递归) 对比着看 【问题描述】根据顺序存储结构建立二叉树的二叉链表,并对二叉树进行先序、中序、后序遍历。原创 2015-05-28 11:39:06 · 1059 阅读 · 0 评论 -
(编程训练)再回首,数据结构——二叉树的前序、中序、后序遍历(递归)
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】根据顺序存储结构建立二叉树的二叉链表,并对二叉树进行先序、中序、后序遍历。【基本要求】·功能:根据顺序存储结构建立二叉树的二叉链表,并进行先序、中序、后序遍历。原创 2015-05-28 11:35:48 · 999 阅读 · 0 评论 -
(编程训练)再回首,数据结构——二维数组的操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】设二维数组a含有m*n个整数。(1)写出算法判断a中所有元素是否互不相同,输出相关信息(Yes/No):(2)a中所有元素互不相同时,试分析算法的时间复杂度。原创 2015-05-28 11:35:26 · 1439 阅读 · 0 评论 -
(编程训练)再回首,数据结构——字符串操作
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 在VC++6.0下可运行,当初还写了不少注释。 【问题描述】若X和Y是两个顺序存储的串,编写一个算法求出X中第一个不在Y中出现的字符。并且,如果Y串长度为奇数,将该字符替换掉Y串的中间字符,如果Y串长度为偶数,则将该字符插入到Y的原创 2015-05-28 11:32:36 · 766 阅读 · 0 评论 -
再回首,数据结构——以邻接矩阵、邻接表表示的图的深度、广度优先搜索
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。 1.连通图的深度优先搜索//以邻接矩阵作为图的存储结构的深度优先遍历算法int visited[MaxSize]={0};void DFS1(AdjMatrix *g, int i){ printf("%3c",g->vexs[i])原创 2015-05-28 11:30:17 · 990 阅读 · 1 评论 -
再回首,数据结构——关于线索二叉树的点滴
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。 希望这些能提供给初学者一些参考。//线索二叉树的结构typedef struct ThNode{ ElementType data; struct ThNode *lchild,*rchild; int ltag,rtag;}ThBinNode;typedef ThB原创 2015-05-28 11:26:52 · 726 阅读 · 0 评论 -
再回首,数据结构——有序线性表的合并
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。/* 将递增数组a[m],递减数组b[n], 归并为有序递增数组c[m+n] */void sort (int *a, int *b, int m, int n){ int i, j, k = 0; int c[m+n]; i = 0; j = n -1; while原创 2015-05-09 15:06:34 · 879 阅读 · 0 评论