算法
这里将记录我算法的学习过程,以及我的一些总结
jiangliuer20
一洛基大学生
展开
-
2013年C++ A组(高斯日记、排他平方数、振兴中华)
文章目录一、高斯日记题解:二、排他平方数题解:三、振兴中华题解: 一、高斯日记 题目详情:大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月3...原创 2020-04-09 21:57:22 · 170 阅读 · 0 评论 -
Java汉诺塔代码(递归)
前言:汉诺塔为递归中的经典题目,所以应该都要学会吧。(我目前还是懵逼的)。 然后看了知乎上很多大佬的文章,好像大概也许可能懂了一些。 如何理解汉诺塔的递归? - Shelley Lee的回答 - 知乎 直接上图上代码吧,我也不太懂,反正我现在背住了 以下是我的一些小小的理解,各位可以先看我上面放的那个文章链接,我就是通过那个文章理解的。 public class 汉诺塔 { /** ...原创 2020-04-10 18:53:25 · 542 阅读 · 0 评论 -
找出数组中唯一成对的那个数
文章目录题目介绍解题思路1. 不使用辅助空间核心代码完整代码2. 开辟辅助空间核心代码 题目介绍 1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助空间,能否实现? 解题思路 1. 不使用辅助空间 不使用辅助空间,我们可以想到的是用异或 ( ^ ) 来解决问题。 异或的用法是:A0=A,A...原创 2020-04-07 10:49:30 · 411 阅读 · 4 评论 -
二分算法(折半查找法),冒泡,选择排序 ,插入排序记录
4种算法的记录 选择排序法:它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 插入排序算法:是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于一个新的数据,进行从后往前的比较,然后插入数据。可以观看此视频了解 传送门 二分查...原创 2020-04-07 10:47:31 · 295 阅读 · 0 评论 -
位运算概览与奇巧淫技
文章目录一、位运算概述二、位运算概览异或二进制数的原码、反码、补码左移 <<右移 >>无符号右移 >>>三、位运算的使用奇巧淫技判断奇偶数获取二进制位是1还是0交换两个整数变量的值不用判断语句,求整数的绝对值整数取绝对值 一、位运算概述 计算机对于计算数据的说话,都是以二进制来进行运算的,所以使用位运算相比直接使用(+、-、 *、/)运算符,要更高效,能显...原创 2020-04-02 17:23:00 · 320 阅读 · 0 评论