C/C++算法
文章平均质量分 57
coder_vivid
鹅厂码农
展开
-
删除无序数组中跳跃重复值并排序(时间复杂度为O(n))
问题描述:现you原创 2014-09-19 18:55:10 · 3077 阅读 · 0 评论 -
关于scanf和printf格式符中使用*
我们经常见到这样的代码: int x; scanf("%*d%d%*d", &x);这就不得不说“*”的作用了,在scanf里,这样用是起到一个过滤的作用,如果,你输入三条数据,如:1 2 3 那么x的值就是2 char s[100] = "abcd1234"; char buf[1000]; int width = 20; strcp原创 2015-05-17 14:19:43 · 532 阅读 · 0 评论 -
Catalan数
Catalan数的应用:1、可以用来计算出栈的结果总数 2、可以用来计算矩阵的括号化 3、可以用来计算凸多边形三角划分 4、可以用来计算给定节点组成二叉树例题如下:已知栈的入栈序列长度为n,问出栈序列的总数是多少?答案:C(n)矩阵连乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其原创 2015-05-26 19:47:23 · 480 阅读 · 0 评论 -
简单的直接插入排序
首先,从名字上我们都能猜测出该排序方法的大体实现过程,用一句朴素的话说,就是:“找位置,插数据”。 也就是说,对一个序列(以顺序表为例)来说(如果只有一个元素,就自然有序了),就得从第二个元素开始,然后取出来,找合适的位置,然后依次挪动数据,给该数据腾出位置,然后,把该数据插进去。特别的,要是该数据不用挪动,那么就继续取下一个数进行类似判断,以下是代码实现:#includeusin原创 2015-05-17 13:22:23 · 690 阅读 · 0 评论 -
快速排序
由于惰性,这两天一直没有写博客,昨天晚上认真的反思自己。话不多说,就利用现在的时间,我就简单的整理一下快速排序这个算法吧。算法思想(以线性表的升序为例): 通俗来说,就是选一个数当作基准,比它小的放在它的左边,比它大的放 在它的右边,那么这个线性表就按照这个基准被分为了两部分,然后对它的前 半部分和后半部分进行相同的操作,以此类推,一直进原创 2015-01-10 19:51:25 · 583 阅读 · 0 评论 -
骑士斗恶龙
骑士斗恶龙你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(砍掉所有的头)。村里有m个骑士可以雇佣,一个战斗为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。//骑士斗恶龙 #include #include #include using names原创 2014-12-19 12:41:11 · 4048 阅读 · 0 评论 -
马踏棋盘(基于栈的深搜算法实现)
马踏棋盘(基于栈的深搜算法实现)简单来说,从任意指定方格出发,为马寻找一条走遍棋盘每一格并且只经过一次的一条路径,这就是马踏棋盘的简单描述。话不多说,代码如下,要是有什么不懂的地方,欢迎讨论~#include #include #define M 8 //行#define N 8 //列typedef struct snode //坐标{ int flag; int原创 2014-11-27 16:28:58 · 3707 阅读 · 3 评论 -
二叉树的一些简单算法(一)
树的一些简单算法原创 2014-10-24 18:17:23 · 811 阅读 · 0 评论 -
二叉树的一些简单算法(二)
树的一些简单算法(二)原创 2014-11-01 23:07:08 · 673 阅读 · 0 评论 -
关于二分查找算法
二分查找算法原创 2014-10-06 18:07:28 · 695 阅读 · 0 评论 -
逆波兰表达式的c++实现
逆波兰表达式的c++实现原创 2014-09-25 11:34:22 · 2034 阅读 · 1 评论 -
斐波那契数列(递归实现)
一、问题描述:原创 2014-09-21 11:07:18 · 1210 阅读 · 0 评论 -
用递归实现对链表的基本操作
//用递归操作链表#include #include typedef struct node{int data;struct node * next;}LNode;LNode * CreateLink(int n); //尾插创建void DelLink(LNode * head, int x);//删值void PrintLink(LNode * head原创 2014-09-22 13:32:13 · 919 阅读 · 0 评论 -
最短路径之迪杰斯特拉(Dijkstra)算法
由于没啥事,就整理下之前的一些简单算法,如题,这次整理最短路径的Dijkstra算法。Dijkstra算法是基于贪心策略的一个算法,在计算单源点路径时比较实用。由于,图论的这些代码的测试数据比较冗长,所以我采用读文件的形式来获取这些值,读者可以借鉴一下。代码如下:#include #include using namespace std;const int N = 5;const in原创 2015-07-31 00:18:35 · 2132 阅读 · 0 评论