C/C++数据结构与算法学习阶段2017.9~2017.12
文章平均质量分 80
逐烟
中国3A的希望(之一)!
展开
-
在函数调用值传递问题
在C/C++中,函数的实参传递给形参没有什么问题,但形参传值给实参却是值得重视的一个问题,一旦忽视,值没有传递到会影响整个程序的运行过程和结果与预期不同。请看以下代码示例:#include using namespace std;void changeVar(int myVar,int newValue){ myVar=newValue;}int main(){原创 2017-09-10 11:18:19 · 308 阅读 · 0 评论 -
数据结构与算法/回溯法与分支限界法
题目 1:n 后问题要求在一个 n*n 格的棋盘上放置 n 个皇后,使得她们彼此不受攻击。一个皇后可以攻击与之在同一行或同一斜线上的其他任何棋子。因此,n 后问题等价于:任何两个皇后不能在同行、同列、同一斜线上。由于要求不同的皇后不能放在同一行,不失一般性,可设皇后 i 只放在第 i 行。题目 2:用优先队列式分支限界法(最小耗费优先法)求解单源最短路径问题。#include #include u原创 2018-01-18 21:04:07 · 801 阅读 · 0 评论 -
数据结构与算法/贪心算法
1、给定 n 种物品和一个背包,物品 i 的重量是 w[i], 其价值是 p[i], 背包的容量为 C。设物品已按单位重量价值递减的次序排序。每种物品不可以装入背包多次,但可以装入部分的物品 i。背包问题是选择装入背包中的物品,在不超过背包容量的前提下使背包的得总价值最大。用贪心法设计与实现一个算法,求解背包问题。#include #include #include using namespace原创 2018-01-18 21:02:39 · 502 阅读 · 0 评论 -
数据结构与算法/动态规划算法
1、掌握用动态规划法设计算法的方法。2、选择适合的数据结构,在其上实现所设计的动态规划算法,使算法复杂性尽可能低。#include #includeint main(){ int count = 6; int a[6] = {-2,11,-4,13,-5,-2}; int b[100]; int i; int besti = 0; int bestj = 0;原创 2018-01-18 21:01:24 · 205 阅读 · 0 评论 -
数据结构与算法/分治法
1、用分治法设计与实现归并排序算法。2、给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数。多重集合 S 中重数最大的元素称为众数。例如多重集合 S={1,2,2,7,2,7,5},其中众数是 2,其重数为 3。用分治法设计并实现在多重集合中找众数及其重数的算法,要求算法的时间复杂性在坏情况下不超过 O(nlogn)。//分治法实现归并排序#include #incl原创 2018-01-18 21:00:26 · 732 阅读 · 0 评论 -
数据结构与算法/大实验:校园导游系统
设计一个校园导游程序,为来学校的用户提供景点信息及路径查询服务。① “景点信息查询”系统为来访客人提供图中任意景点相关信息的查询功能。用户选择该选项后,提示用户输入要查询的景点编号,根据景点编号显示出该景点的名称和简介。② “校门口到其他景点的路经查询” 系统为来访客人提供从校门口到图中任意景点的问路查询功能。用户选择该选项后,提示用户输入要到达的景点编号,根据该景点编号显示出从校门口到该景点的最原创 2018-01-18 20:59:15 · 2788 阅读 · 0 评论 -
数据结构与算法/图的应用
//注:我这段代码预先输入好了值,图有机会贴上来1、掌握图的各种存储结构的特点及适用范围。2、掌握建立图的方法。(包括邻接矩阵、邻接表)3、熟练掌握图的深度优先搜索算法和广度优先搜索算法,并能灵活运用这两个算法解决实际问题。实现上述两个功能时要求图分别用邻接矩阵和邻接表表示。求简单路径问题,可利用图得深度优先搜索遍历算法实现,从顶点 i 出发,开始遍历,访问到顶点 j 时遍历结束。在遍历的过程中,原创 2018-01-18 20:55:42 · 4332 阅读 · 0 评论 -
数据结构与算法/哈夫曼编码译码器
(1)输入一个需要压缩的文本文件名,统计该文件中各字符的个数作为权值,生成赫夫树。(2)将文本文件利用赫夫曼树为每个字符进行编码,生成编码文件(文件扩展名为.cod)。(3)输入一个待解压缩的压缩文件名,并利用相应的赫夫曼树将编码序列译码(解码)。(4)显示指定的编码文件和文本文件。(5)把赫夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。#include#inclu原创 2018-01-18 20:53:20 · 3904 阅读 · 0 评论 -
数据结构与算法/树的应用
1、以二叉链表作存储结构,设计求二叉树高度的算法。2、一棵 n 个结点的完全二叉树用向量作存储结构,用非递归算法实现对该二叉树进行前序遍历。3、以二叉链表作存储结构,编写非递归的前序、中序、后序遍历算法。#include #include #define MAXSIZE 100using namespace std; typedef struct BiTNode{ char data;原创 2018-01-18 20:51:44 · 1628 阅读 · 1 评论 -
数据结构与算法/循环链表与双链表实验
前阵子因为复习期末考试博客好久不更,这阵子把我对数据结构这门课的实验代码贴上来,有对代码感兴趣或者不清楚的地方可以评论,我会一一解答。1、假设在长度大于 1 的单循环链表中,既无头结点也无头指针。s 为指向某个结点的指针,试编写算法删除结点*s 的直接前驱结点。2、已知由单链表表示的线性表中,含有三类字符的数据元素(如:字母、数字和其它字符),设计算法构造三个以循环链表示的线性表,使每一个表中只含原创 2018-01-18 20:48:25 · 1097 阅读 · 1 评论 -
数据结构链栈实现字符匹配算法
#include #include #include #include #include #define OK 1#define ERROR -1typedef char ElemType;typedef int Status;typedef struct stack//创建链栈{ ElemType data;//数据域 struct s原创 2017-10-02 14:20:53 · 584 阅读 · 0 评论 -
数据结构C/C++队列算法
假设以带头结点的循环链表来表示队列,并且只设一个指针指向队尾,编写相应的置队空、入队、出队算法。并且还要设计直观的用户操作界面,能直观看到操作结果。#include #include #include #include #include #include using namespace std;typedef int Datatype;typedef s原创 2017-10-08 20:46:20 · 703 阅读 · 0 评论 -
数据结构通过链栈实现字符串中心对称匹配
#include #include #include #include #include #define OK 1#define ERROR -1typedef char ElemType;typedef int Status;typedef struct stack//创建链栈{ ElemType data;//数据域 struct s原创 2017-10-08 20:41:03 · 960 阅读 · 0 评论 -
C/C++数据结构通过顺序栈实现括号()匹配算法
#include #include #include #include #include #define OK 1#define ERROR 0#define MAXSIZE 100typedef char ElemType;typedef int Status;typedef struct stack//创建顺序栈{ ElemType *b原创 2017-10-08 20:43:42 · 3670 阅读 · 0 评论 -
C语言实现美团下单优惠系统(2018CodeM Q1)
题目描述美团在吃喝玩乐等很多方面都给大家提供了便利。最近又增加了一项新业务:小象生鲜。这是新零售超市,你既可以在线下超市门店选购生鲜食品,也可以在手机App上下单,最快30分钟就配送到家。新店开张免不了大优惠。我们要在小象生鲜超市里采购n个物品,每个物品价格为ai,有一些物品可以选择八折优惠(称为特价优惠)。有m种满减优惠方式,满减优惠方式只有在所有物品都不选择特价优惠时才能使用,且最多只可以选择...原创 2018-06-06 22:21:54 · 1354 阅读 · 0 评论