常用算法
文章平均质量分 79
老~葛
谁眼角朱红的泪痣,成全了你的繁华一世;你金戈铁马的江山,赐予谁一场石破天惊的空欢……
展开
-
FJ的字符串(递归大法好)
题目描述:FJ在沙盘上写了这样一些字符串:A1 = “A”A2 = “ABA”A3 = “ABACABA”A4 = “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入仅有一个数:N ≤ 26。输出请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABA解...原创 2019-02-27 20:08:30 · 484 阅读 · 0 评论 -
分糖果
题目描述:有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入程序首先读入一个整数N(2< N< 100),表示小朋友...原创 2019-02-27 20:03:46 · 5742 阅读 · 1 评论 -
二叉树的非递归遍历(前序中序后序非递归C语言)
前两天做数据结构实验,要求用非递归算法遍历二叉树。只知道用栈来储存数据,具体算法还不太清楚。经过两天的搜索,看到网上很多种解法,很多解法都是用C++来写的算法,一直找不到用C语言写的算法,所以就总结了一下,用C写出了一个遍历二叉树的三种非递归算法。前序遍历前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。具体算法:先遍历左孩子,并输出。当左孩子遍历完后,取栈顶,找右孩子。此时循环还没有结...原创 2018-10-24 14:11:00 · 61742 阅读 · 28 评论 -
迪杰斯特拉(Dijkstra)算法--有向网络最短路径
单源最短路径问题是:对于给定的有向网络G=(V,E)及单个源点v,求v到G的其余各顶点的最短路径。算法的基本思想a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则&amp;amp;lt;u,v&amp;amp;gt;正常有权值,若u不是v的出边邻接点,则&amp;amp;lt;u,v&amp;amp;gt;权值为∞。b.从U中选取一个距离v最小的顶点k,把k,原创 2018-11-10 20:01:43 · 8593 阅读 · 4 评论 -
迪杰斯特拉(Dijkstra)算法--无向网络最短路径
与有向网络不同的是,无向网络的邻接矩阵是对称的,所以在构造邻接矩阵的时候要注意。Dijkstra算法的具体内容参照我上次写的迪杰斯特拉(Dijstra)算法——有向网络最短路径下面直接放代码和实例,以便更加理解使用。#include&lt;stdio.h&gt;#define max 1000 //1000定义为最大值正无穷,表示两点之间不直接相...原创 2018-11-10 20:53:32 · 4934 阅读 · 3 评论 -
剪刀石头布
题目描述编写程序实现“剪刀,石头,布”游戏。在这个游戏中,两个人同时说“剪刀”,“石头”或“布”,压过另一方的为胜者。规则是:“布”胜过“石头”,“石头”胜过“剪刀”,“剪刀”胜过“布”。解法如果用if语句需要枚举9种情况,但是使用switch语句就可以大大减少代码行数,而且也比较·······#include<stdio.h>main(){ int a,b; prin...原创 2018-12-14 23:22:10 · 1349 阅读 · 0 评论 -
两个N阶方阵的乘积
求两个n阶方阵的乘积C=AB具体算法如下:#define n 自然数;MATRIXMLT(float A[][n],float B[][n],float [][n]);{ int i,j,k; for(i=0;i<n;i++) for(j=0;j<n;j++) { C[i][j]=0; for(k=0;k<n;k++) C[i][j]=C[i...原创 2018-12-12 20:23:12 · 8197 阅读 · 2 评论