算法
文章平均质量分 81
Danie_wu
努力学习中!!!!!
展开
-
浅谈递归思想
递归是个很自然的东西,理解它其实并不难,面对要用递归的实际问题,难点就是构建递归关系、确定递归边界;递归的定义如下:递归:参见“递归”。什么?这个定义什么也没说啊!好吧,就是如下:递归:如果还没理解递归是什么意思,参见“递归”。看到这里或许你就明白了,递归就是自己调用自己。举个不恰当的例子:你没钱了,找你爸要钱,爸:我没钱,找你妈要;于是你找到你妈。妈:我没钱,找你爸要原创 2018-02-28 21:40:28 · 2523 阅读 · 1 评论 -
基本数学问题(一)
一、判断闰年判断闰年:闰年是历法上的一种折中,主要是为弥补因人为制定的历法而造成的年度天数与地球实际公转周期的时间差而设置的,也就是说,补上时间差的年份为闰年,闰年的一个基本规则就是“四年一闰,百年不闰,四百年再闰”,就是能被4整除,但同时不被100整除却能够被400整除的年份。public class LeapYear { static int IfLeapYear(int yea...原创 2018-07-29 23:35:37 · 279 阅读 · 0 评论 -
经典排序之合并排序
一、基本思想: 合并排序算法就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表,则称为二路合并,对于一个原始的待排序序列,往往可以通过分割的方法来归结为多路合并排序,下面以二路合并为列,介绍合并排序算法。 二、动态图演示三、代码实现public class MergeSortTest { static final int SIZE = 15; stat...原创 2018-07-20 00:46:02 · 896 阅读 · 0 评论 -
经典排序之插入排序
一、插入排序1.基本思想:通过对未排序的数据逐个插入至合适的位置而完成排序工作。2.代码实现public class InsertionSort { static final int SIZE = 10; static void insertionSort(int[] a) { int i,j,t,h; for(i = 1; i < a.length; i+...原创 2018-07-18 00:01:20 · 268 阅读 · 0 评论 -
经典排序之选择排序
一、直接选择排序 1.基本思想:假设数据元素存放在数组L中,初始时,有序区为空,将L[0]~L[n-1]作为无序区;每次从无序区中选择最小的数据元素L[min]{0<=min<=n-1},与无序区的第一个数据元素交换,使有序区长度增1,无序区长度减1。每执行这一趟称为直接选择排序。 ...原创 2018-06-30 21:21:38 · 174 阅读 · 0 评论 -
平方十位数
标题:平方十位数由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。这其中也有很多恰好是平方数(是某个数的平方)。比如:1026753849,就是其中最小的一个平方数。请你找出其中最大的一个平方数是多少?注意:你需要提交的是一个10位数字,不要填写任何多余内容。答案为:9814072356思路:枚举32043~100000这些数的平方数是否包含0~9,显然要用大数字运算代码:public ...原创 2018-06-06 19:45:31 · 478 阅读 · 0 评论 -
译码
链接:https://www.nowcoder.com/acm/contest/124/A来源:牛客网现在定义一种编码规则:对于长度为3的字符串(均由小写字母组成),首先按照字典序进行排序,即aaa,aab,aac,…,zzz,将这些字符串按照顺序依次从00001至17575编码(前缀0不可省略),即aaa=00000,aab=00001,aac=00002,…,zzz=17575。现在给出一串数...原创 2018-05-23 23:27:55 · 385 阅读 · 0 评论 -
第九届蓝桥杯——明码
标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字...原创 2018-05-13 20:26:03 · 454 阅读 · 0 评论 -
简单多边形
链接:https://www.nowcoder.com/acm/contest/110/B来源:牛客网题目描述为了让所有选手都感到开心,Nowcoder练习赛总会包含一些非常基本的问题。 比如说: 按顺时针或逆时针方向给你一个简单的多边形的顶点坐标,请回答此多边形是顺时针还是逆时针。 输入描述:输入包含N + 1行。第一行包含一个整数N,表示简单多边形的顶点数。在下面的N行中,第i行包含两个...原创 2018-05-18 23:02:54 · 628 阅读 · 0 评论 -
全排列
在程序设计过程中,我们往往要对一个序列进行全排列或者对每一个排列进行分析。 全排列算法便是用于产生全排列或者逐个构造全排列的方法。当然,全排列算法不仅仅止于全排列,对于普通的排列,或者组合的问题,也可以解决。基本思想:解决一个算法问题,我比较习惯于从基本的想法做起,我们先回顾一下我们自己是如何写一组数的全排列的:1,3,5,9(为了方便,下面我都用数进行全排列而原创 2018-03-31 17:37:46 · 180 阅读 · 0 评论 -
素数筛法
基本思想:用筛法求 素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。#include#define N 100000void sifter(int num);int main(){ int num; printf("请输入一个数:"); scanf原创 2018-03-31 16:59:26 · 206 阅读 · 0 评论 -
经典排序之交换排序
交换排序的基本思想是:对待排序数据元素,两两比较其关键字,若发现存在逆排序,则交换这两个数据,一直到待排序数据元素中没有逆序为止。一、冒泡排序(Bubble Sort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素原创 2018-03-18 16:01:06 · 377 阅读 · 0 评论 -
基本数学问题(二)
一、复数的基本运算复数的基本运算公式:加法:(a+bi)+(c+di)=(a+c)+(b+d)i;减法:(a+bi)-(c+di)=(a-c)+(b-d)i;乘法:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i;除法:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d);幂运算:同乘法;指数运算:e^(a+bi...原创 2018-07-31 22:41:43 · 920 阅读 · 0 评论