数据结构与算法学习
番薯大佬
踢足球的码农一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程算法实例-算法学习网站
特点:LeetCode是一个广受欢迎的刷题平台,收集了许多互联网巨头的题库内容和算法、面试题。特点:牛客网拥有国内最丰富的IT题库,无论是题库、面试、学习还是求职,都能在这里找到合适的资源。特点:Codewars给出的问题更贴近实战,更有代入感,适合希望提升实际编程能力的学习者。适用人群:适合有一定编程基础,希望挑战更复杂、更贴近实际项目问题的学习者。适用人群:适合希望在国内IT行业求职,需要提升算法和编程能力的学习者。适用人群:适合希望提升算法能力,尤其是准备进入大厂的学习者。原创 2025-08-27 21:11:59 · 155 阅读 · 0 评论 -
编程算法实例-进制转换
数字字符与整数i <= ‘9’;0 = 481 = 492 = 503 = 514 = 525 = 536 = 547 = 558 = 569 = 57小写字母字符与整数i <= ‘z’;原创 2025-08-19 14:14:08 · 282 阅读 · 0 评论 -
编程算法实例-选择排序
选择排序(Selection sort)是一种简单直观的排序算法。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。排序前是:100 51 6 7 7 23 19 800 11 23。排序后是:6 7 7 11 19 23 23 51 100 800。排序前是:5 6 4 3 2 9。排序后是:2 3 4 5 6 9。原创 2025-08-18 00:37:10 · 162 阅读 · 0 评论 -
编程算法实例-冒泡排序
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。排序前是:100 51 6 7 7 23 19 800 11 23。排序后是:6 7 7 11 19 23 23 51 100 800。冒泡排序(英语:Bubble Sort)是一种简单的排序算法。排序前是:10 5 6 7 11 23。排序后是:5 6 7 10 11 23。原创 2025-08-18 00:28:08 · 168 阅读 · 0 评论 -
编程算法实例-字符串翻转
反转前,str = abcdefg。反转后,str = gfedcba。原创 2025-08-18 00:11:06 · 129 阅读 · 0 评论 -
编程算法实例-用“*”号打印三角形
【代码】编程算法实例-用“*”号打印三角形。原创 2025-08-17 23:32:52 · 91 阅读 · 0 评论 -
编程算法实例-整数分解质因数
质因数(又称素因数或质因子)是指能整除给定正整数的质数,例如36的质因数为2和3(分解为2²×3²)。每个合数都可以写成几个质数(也可称为素数)相乘的形式,这几个质数就都叫做这个合数的质因数。原创 2025-08-17 23:25:57 · 283 阅读 · 0 评论 -
编程算法实例-求一个整数的所有因数
质因数(又称素因数或质因子)是指能整除给定正整数的质数,例如36的质因数为2和3(分解为2²×3²)。数学关系:若整数m能整除整数n(即存在整数k使得n=m×k),则称m是n的因数,记作m∣n。因数是数学中描述整数间整除关系的基本概念,指一个非零整数能整除另一个整数时的前者。范围限定:因数特指整数之间的整除关系,且除数必须为非零整数。原创 2025-08-17 22:40:26 · 221 阅读 · 0 评论 -
编程算法实例-Armstrong数(阿姆斯特朗数)
水仙花数( Narcissistic number )也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数( Armstrong number ),水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身 (例如: 1^3 + 5^3+ 3^3 = 153 )。151不是阿姆斯特朗数。1634是阿姆斯特朗数。153是阿姆斯特朗数。原创 2025-08-17 21:56:35 · 196 阅读 · 0 评论 -
编程算法实例-判断闰年
闰年数(英文名称:leap year ),定义:阳历或阴历中有闰日的年,或阴阳历中有闰月的年。闰年一般是每四年一次,也可以说一般每四年中有一年是闰年。原创 2025-08-17 09:36:20 · 311 阅读 · 0 评论 -
编程算法实例-判断数字为几位数
该C语言程序实现了计算整数位数的功能。程序包含两种方法:方法1通过将数字转为字符串后计算长度,但当前被注释;方法2采用循环除法逐位计算,能正确处理正负数。测试结果显示程序能准确计算123(3位)、12344(5位)和-12344(5位)等数字的位数。程序通过main函数调用lenthNum()并打印结果,其中负数通过隐式转换处理为相同位数。原创 2025-08-17 17:36:32 · 94 阅读 · 0 评论 -
编程算法实例-素数
质数(prime number)又称素数,有无限个。质数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数,这样的数称为质数。原创 2025-08-17 18:39:19 · 89 阅读 · 0 评论 -
编程算法实例-回文数
回文数是正序与倒序读取完全相同的整数,例如121、1331等,具有对称性和多样性特征,在数学、计算机科学领域有重要应用。四位数构造公式:1000a+100b+10b+a(如a=1,b=2生成1221)。三位数构造公式:101a+10b+a(如a=1,b=2生成121)。对称性:数字序列镜像对称,如123454321。3.1 反转相加法:任意数与倒序数反复相加,例如。整除性:四位及以上回文数均可被11整除。非负性:仅限正整数范围。1.核心定义与数学特征。2.其核心特征包括:。原创 2025-08-17 18:26:53 · 244 阅读 · 0 评论 -
编程算法实例-计算一个数的n次方
计算一个数的 n 次方,例如: 23,其中 2 为基数,3 为指数。原创 2025-08-17 17:50:47 · 123 阅读 · 0 评论 -
编程算法实例-输出26个大写或小写字母
【代码】编程算法实例-输出26个大写或小写字母。原创 2025-08-17 17:27:52 · 159 阅读 · 0 评论 -
编程算法实例-阶乘
阶乘(factorial)是由基斯顿·卡曼于1808年引入的数学运算符号,定义为所有小于及等于该正整数的乘积。阶乘是数学中一个正整数的所有小于及等于该数的正整数的乘积,记作n!=1(空积定义,组合数学一致性要求)。原创 2025-08-17 17:18:29 · 175 阅读 · 0 评论 -
编程算法实例-最小公倍数
两个或多个整数公有的倍数称为公倍数,其中最小的正整数称为最小公倍数(LCM),记作[a,b]或lcm(a,b)。例如,12和18的公倍数有36、72等,最小公倍数为36。例如,48和72的最大公约数为24,LCM=48×72÷24=144。两数的最小公倍数是它们公有的倍数中最小的正整数,可通过质因数分解、短除法或公式法(结合最大公约数)计算得出。4.2 倍数关系:若一数是另一数的倍数(如24和8),LCM为较大数。4.1 互质关系:若两数互质(如7和15),LCM=两数乘积。原创 2025-08-17 17:09:00 · 311 阅读 · 0 评论 -
编程算法实例-最大公因数
最大公因数(Greatest Common Divisor, GCD)指两个或多个整数共有约数中最大的一个,记为(a,b)。例如,12和18的最大公因数是6。原创 2025-08-17 16:55:53 · 105 阅读 · 0 评论 -
编程算法实例-裴波那契数列
【代码】编程算法实例-裴波那契数列。原创 2025-08-17 09:52:45 · 101 阅读 · 0 评论 -
快速排序
void quickSort (int a[] , int low , int high){ if (high < low + 2) { return; } int start = low; int end = high; int temp; while (start < end) { // 找到第一个比a[l转载 2016-08-04 16:53:38 · 394 阅读 · 0 评论 -
冒泡排序
void bubble_sort(int a[], int n){ int i, j, temp; for (j = 0; j < n - 1; j++) { //外层循环每循环一次就能确定出一个泡泡(最大或者最小),所以内层循环不用再计算已经排好的部分 for (i = 0; i < n - 1 - j; i++) {转载 2016-08-04 16:51:48 · 316 阅读 · 0 评论 -
二分查找
// 递归方法int binarySearch1(int a[] , int low , int high , int findNum){ int mid = ( low + high ) / 2; if (low > high) return -1; else {转载 2016-08-04 16:50:06 · 302 阅读 · 0 评论
分享