数据结构/算法
文章平均质量分 71
Anotherdgf
Be the change you want to be in the world.
展开
-
石子合并
描述: 在一个圆形操场的四周摆放着n堆石子(n4 4 5 9 score: 08 5 9 score: 813 9 score: 8 + 13 = 2122 score: 8 + 13 + 22 = 43输入: 可能有多组测试数据。 当输入n=0时结束! 第一行为石子堆数n(1输出: 合并的最小得分,每个结果一行。输入样例: 44原创 2014-06-02 00:12:12 · 529 阅读 · 0 评论 -
树的输入、存储与遍历
问题描述:输入一棵二叉树,使用二叉链表结构存储二叉树,并用递归方法输出先序、中序、后序三种遍历结果。#include#includeusing namespace std;typedef struct BiTNode { char data; BiTNode *lchild, *rchild;}BiTNode,*BiTree;void CreateBiTree(BiTr原创 2015-09-28 23:23:18 · 1949 阅读 · 1 评论 -
稀疏矩阵运算器
问题描述:有输入界面(图形或文字界面都可),能区分加法、减法、乘法和转置;能处理任意输入的典型数据和进行出错数据处理(例如乘法,当第一个矩阵的列数不等于第二个矩阵的行数时);必须采用三元组作存储结构,不能采用数组等形式;输出要求用矩阵的形式输出(即习题集136页的形式),当第一个矩阵的行数不等于第二个矩阵的行数时,注意如第三个乘法的形式输出。#include#define MAXSIZE 2原创 2015-09-28 23:20:23 · 6695 阅读 · 1 评论 -
表达式求值
问题描述:使用键盘输入表达式,计算表达式的值并输出;将表达式转化成后缀表达式输出,利用后缀表达式求表达式的值并输出。测试数据:3*(7-2)2*(6+2*(3+6*(6+6)))+(6+6)*3+28/(9-9)#include#include#define MAX 30typedef struct tagNode{ char data; struct tagNo原创 2015-09-28 23:14:59 · 545 阅读 · 1 评论 -
合并两个链表
问题描述:设list1与list2分别为两个带有头节点的有序循环链表(所谓有序是指链表节点按照数据域值的大小链接,本题中节点按照数据域的值从小到大排列),plist1和plist2分别为指向两个链表的头指针。请写出将这两个链表合并为一个带头结点的有序循环链表的算法并且编程实现。#include<stdio.h>#include<stdlib.h>typedef struct tagLNode{原创 2015-09-28 23:05:27 · 1133 阅读 · 0 评论 -
迷宫求解
求迷宫从入口原创 2014-08-21 09:28:30 · 561 阅读 · 0 评论 -
快速排序算法
快速排序原创 2014-06-12 10:47:43 · 469 阅读 · 0 评论 -
电子老鼠走迷宫-搜索算法
如下图12×12方格图,找出一条自入口(2,9)到出口(11,8)的最短路径。原创 2014-05-29 22:51:24 · 1860 阅读 · 0 评论 -
合并排序算法
合并排序原创 2014-06-12 11:07:56 · 650 阅读 · 0 评论 -
堆排序
堆排序(Heap Sort):使用堆这种数据结构来实现排序。先看下堆的定义:最小堆(Min-Heap)是关键码序列{k0,k1,…,kn-1},它具有如下特性:ki2i+1,kik2i+2(i=0,1,…)简单讲:孩子的关键码值大于双亲的。同理可得,最大堆(Max-Heap)的定义:ki>=k2i+1,ki>=k2i+2(i=0,1,…)同样的:对于最大堆,转载 2014-06-12 11:23:30 · 696 阅读 · 0 评论 -
图的结构建立和最短路径算法
问题描述:利用邻接矩阵构造图,并求出某一顶点到其余顶点的最短路径并打印输出。#include#include#define MAX_VERTEX_NUM 50#define FALSE 0#define TRUE 1#define INFINITY 100000typedef struct { char vexs[MAX_VERTEX_NUM][100]; int arcs[原创 2015-09-28 23:27:00 · 616 阅读 · 0 评论