ACM_算法基础
LzyRapX
Just For Fun .
展开
-
异或详解
异或门符号'^',在编程中的使用,有的时候能够让你的程序更加精炼简捷, 尤其在C++的acm程序应用中,可以避免许多麻烦!!!它的几个简单作用 讲解如下: 它的简单规则是相同为0,不同为1,例如 int a=3=011(2进制,在计算机中的存储形式); int b=6=110(2进制,在计算机中的存储形式); int c=a^b=101=5; 切忌,在异或门的计算中都是应用的2进制!原创 2016-04-21 20:18:28 · 2816 阅读 · 0 评论 -
基数排序
声明:此文章来源部分百度百科。 基本解法 第一步 以LSD为例,假设原来有一串数值如下所示: 73, 22, 93, 43, 55, 14, 28, 65, 39, 81 首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中: 0 1 81 2 22 3 73 93 43 4 14原创 2016-04-06 20:09:03 · 737 阅读 · 0 评论 -
各种排序算法总结
各种排序算法总结 排序算法是最基本最常用的算法,不同的排序算法在不同的场景或应用中会有不同的表现,我们需要对各种排序算法熟练才能将它们应用到实际当中,才能更好地发挥它们的优势。今天,来总结下各种排序算法。 下面这个表格总结了各种排序算法的复杂度与稳定性: 各种排序算法复杂度比较.png 冒泡排序 冒泡排序可谓是最经典的排序算法了,它是基原创 2016-03-24 17:48:25 · 1370 阅读 · 0 评论 -
Shell排序
Shell排序:一种插入排序。 距离的概念:两个数之间的间隔i个数,这两个数的距离就为i 例如:1,2,3,4,5,6,7,8。1和2的距离为1;1和3的距离为2。 基本思想:先取一个增量d1 /* Shell排序: O(nlogn) 设定一个元素间隔的增量nGap,将参加排序的元素按这个间隔数nGap从第1个元素开始依次分为若干个 子序列,分别对这些子序列排序。重原创 2016-04-06 15:30:50 · 806 阅读 · 0 评论 -
字母重排(算法竞赛入门经典)
输入一个字典,用*****结尾,输入若干单词用00000结尾。每个单词w,都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典序从小到大的顺序在一行中输出(如果不存在,输出:( ,输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成,注意,字典中的单词不一定按字典排列)。 输入: tarp given score refund only trap work ea原创 2016-03-22 20:19:12 · 1357 阅读 · 0 评论 -
快速排序(Quicksort)
快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取原创 2016-03-17 00:02:28 · 1006 阅读 · 0 评论 -
归并排序
归并排序介绍 将两个的有序数列合并成一个有序数列,我们称之为”归并”。 归并排序(Merge Sort)就是利用归并思想对数列进行排序。根据具体的实现,归并排序包括”从上往下”和”从下往上”2种方式。 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有序数列,再将这些数列两两合并;得到若干个长度为4的有序数列,再将它们两两原创 2016-03-16 23:48:06 · 657 阅读 · 0 评论 -
#include<bits/stdc++.h>
include < bits / stdc++ .h> 这个头文件包含以下等等C++中包含的所有头文件:#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <qu原创 2016-03-02 17:24:44 · 5245 阅读 · 0 评论 -
C++ STL--stack/queue 的使用方法
C++ STL--stack/queue 的使用方法: 1、stack stack 模板类的定义在头文件中。 stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要 的,在不指定容器类型时,默认的容器类型为deque。 定义stack 对象的示例代码如下: stack s1; stack s2; stack 的基本操作有: 入栈,如例:s.push原创 2016-03-07 20:57:24 · 697 阅读 · 0 评论