
算法与数据结构
园长的牧歌
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从插入排序理解希尔排序
希尔排序是插入排序的优化版本,所以理解希尔排序之前一定要先理解插入排序。原创 2022-11-08 16:48:31 · 287 阅读 · 0 评论 -
异或运算及异或运算的应用
0.前言1.定义异或是一个数学运算符,它应用于逻辑运算数学符号⊕计算机符号 eor1.1运算:a ⊕ b = (¬a ∧ b ) ∨ (a ∧ ¬b)1. a、b两值相同,则异或结果为0;a、b两值不同,则异或结果为12. 也可以说是“不进位相加”——半加运算1.2法则:归零率 a ⊕ a = 0恒等率 a ⊕ 0 = a交换律 a ⊕ b = b ⊕ a结合律 a ⊕ b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c自反 a ⊕ b = b原创 2021-09-03 14:02:19 · 1539 阅读 · 0 评论 -
红黑树的具象理解(动图+图解)
红黑树的特点每个节点不是黑色就是红色根节点为黑色每个叶子节点(NIL)为黑色每个红色节点的两个子节点一定都是黑色任意节点到每个叶子节点的路径都包含数量相同的黑节点==>如果一个结点存在黑子节点,那么该结点肯定有两个子节点红黑树的变换变色由红色变为黑色,由黑色变为红色左旋旋转节点的右子节点变为旋转节点的父节点旋转节点的右子节点的左子节点变为旋转节点的右子节点旋转节点的右子节点的右子节点保持不动旋转节点的左子节点保持不动动图演示下:右旋旋转节点的左子节点变为旋原创 2020-08-20 22:25:53 · 479 阅读 · 4 评论 -
运算符优先级
今日闲来无聊,翻了翻java测试题,遇到了一个让我惊呆的以前忽视的漏洞,现在认真补上。首先,展示出原题原本的信心满满的:s1==s2 is:false结果却是错误的。下面展示java中的运算符的优先级表中结合性指运算符结合的顺序,通常都是从左到右。从右到左的运算符最典型的就是数值前面的正负号,例如3±4,则意义为3加-4,符号首先和运算符右侧的内容结合。再如:++4,与4++,前者先加...原创 2019-11-05 13:42:43 · 615 阅读 · 0 评论 -
单链表连接法宝
今天在做算法题时遇到链表无法正常返回,有时返回为空,有时返回只有一个一个节点。经过反复思考和查看他人代码,我得到两点心得在此记录。1.不要覆盖节点新节点应该穿件后不能直接赋值给node而是要赋值给node.next即node.next = new Node();2.移动节点前保留头结点这点很重要,最初忘记保留这个节点,返回后只有一个数据,先前数据丢失在二次元(真是可以说是泯灭,无形的...原创 2019-10-09 15:12:17 · 260 阅读 · 0 评论 -
编程题-水仙花数
水仙花数内存限制:64MB 时间限制:1000ms 特判: No难度:0题目描述:请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数。输入描述:有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束。输出描述:如果n是水仙花数就输出Yes否则输出No样例输入:153 154 0...原创 2018-10-04 17:06:43 · 936 阅读 · 0 评论 -
编程题-5个数求最值
5个数求最值内存限制:64MB 时间限制:1000ms 特判: No难度:1题目描述:设计一个从5个整数中取最小数和最大数的程序输入描述:输入只有一组测试数据,为五个不大于1万的正整数输出描述:输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。样例输入:1 2 3 4 5样例输出:1 5分析:略代...原创 2018-10-04 16:19:44 · 1216 阅读 · 0 评论 -
求转置矩阵问题
求转置矩阵问题内存限制:64MB 时间限制:3000ms 特判: No难度:2题目描述:求一个三行三列的转置矩阵。输入描述:第一行一个整数n<20,表示有n组测试数据,下面是n组数据;每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;输出描述:每组测试数据的转置矩阵;请在每组输出之后加一个换行样例输入:21 2 ...原创 2018-10-03 18:28:54 · 653 阅读 · 0 评论 -
素数距离问题
素数距离问题时间限制:3000 ms | 内存限制:65535 KB难度:2输入第一行给出测试数据组数N(0<N<=10000)接下来的N行每行有一个整数M(0<M<1000000),输出每行输出两个整数 A B.其中A表示离相应测试数据最近的素数,B表示其间的距离。样例输入36810样例输出5 17 111 1...原创 2018-10-03 17:44:27 · 261 阅读 · 0 评论 -
取石子(一)
取石子(一)时间限制:3000 ms | 内存限制:65535 KB难度:2输入第一行是一个正整数n表示有n组测试数据输入有不到1000组数据,每组数据一行,有两个数N和M,之间用空格分隔。输出对于每组数据,输出一行。如果先取的TT可以赢得游戏,则输出“Win”,否则输出“Lose”(引号不用输出)样例输入21000 11 100样例输出Los...原创 2018-10-03 15:16:27 · 197 阅读 · 0 评论 -
素数求和问题
素数求和问题时间限制:3000 ms | 内存限制:65535 KB难度:2输入第一行给出整数M(0<M<10)代表多少组测试数据每组测试数据第一行给你N,代表该组测试数据的数量。接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据的所有素数和样例输入351 2 3 4 5811 12 13 1...原创 2018-10-03 14:17:42 · 319 阅读 · 0 评论 -
ASCII码排序
描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入2qweasd样例输出e q wa d s 来源 网络1、思路分析 ...原创 2018-05-02 18:01:26 · 225 阅读 · 0 评论