
算法
chengxuyuansxd
计算机专业的学生,永不言弃!
展开
-
将“非纯表”变为“纯表”
顺序表应用1:多余元素删除之移位算法Time Limit: 1000MS Memory limit: 650K题目描述一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第原创 2015-09-27 19:59:15 · 3266 阅读 · 0 评论 -
KMP算法—转
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很原创 2015-08-03 09:10:42 · 295 阅读 · 0 评论 -
有序链表的建立
数据结构实验之链表六:有序链表的建立Time Limit: 1000ms Memory limit: 65536K 题目描述输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。输入第一行输入整数个数N;第二行输入N个无序的整数。输出依次输出有序链表的结点值。示例输入63原创 2015-08-06 14:57:18 · 708 阅读 · 0 评论 -
单链表的拆分
数据结构实验之链表五:单链表的拆分Time Limit: 1000ms Memory limit: 65536K 题目描述输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。输入第一行输入整数N;;第二行依次输入N个整数。输出原创 2015-08-06 15:44:51 · 745 阅读 · 0 评论 -
并查集(转)
并查集在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的原创 2015-08-11 10:32:04 · 255 阅读 · 0 评论 -
匈牙利算法求二分图的最大匹配
二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。二分图的最大匹配:匈牙利算法 完美匹配: 如果所有点都在匹配边上,称这个最大匹配是完美匹配。 最小覆盖: 最转载 2015-08-15 21:16:13 · 383 阅读 · 0 评论 -
排序算法总结
将提到的排序算法有:冒泡排序,快速排序,选择排序,堆排序,插入排序,合并排序,希尔排序,计数排序,基数排序,桶排序。所有排序结果都默认为排成从前往后升序。程序都在VS2008中运行成功。 交换排序:1,冒泡排序:冒泡排序是最简单的排序,是刚学c语言时最早接触到的一个算法。他的思想就是,对待排序元素的关键字从后往前进行多遍扫描,遇到相邻两个关键字次序与转载 2015-08-15 21:20:04 · 308 阅读 · 0 评论 -
C++ map的基本操作和使用
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; mapmapchar; mapmapint转载 2015-08-17 16:57:03 · 214 阅读 · 0 评论 -
筛法求素数
用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。如有:1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 301不是素数,去掉。剩下的原创 2015-08-20 11:18:15 · 383 阅读 · 0 评论 -
分数加减法
#include#includeint gcd(int a,int b) //*最大公约数*{ if(b==0)return a; else return gcd(b,a%b);}main(){ int a,b,c,d,g,fz,fm; char op; while(~scanf("%d/%d%c%d/%d",&a,&b,&op,&c原创 2015-08-20 16:30:55 · 410 阅读 · 0 评论 -
C语言简介
语言标准K&R C起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个原创 2015-08-03 08:26:51 · 690 阅读 · 0 评论