算法与数据结构
程序员云帆哥
互联网厂程序员,高级Java开发工程师。博客认证:CSDN博客专家、阿里云专家博主、华为云云享专家、腾讯云年度优秀作者。
展开
-
编程题:多线程交替打印ABC
要求创建3个线程,分别打印ABC,共交替打印10次。原创 2022-07-31 14:15:04 · 391 阅读 · 0 评论 -
Java的几种经典排序算法
对一个排序算法来说,一般从如下3个方面衡量算法的优劣: 时间复杂度:主要是分析关键字的比较次数和记录的移动次数。 空间复杂度:分析排序算法中需要多少辅助内存 稳定性:若两个记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则称这种算法是稳定的;反之,就是不稳定的。原创 2019-03-31 22:22:46 · 17950 阅读 · 2 评论 -
Java经典算法题(一)
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。【程序3】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。则表明此数不是素数,反之是素数。原创 2017-08-26 13:36:22 · 11130 阅读 · 0 评论 -
Java经典算法题(二)
【程序1】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。原创 2017-08-26 13:40:44 · 11702 阅读 · 0 评论 -
Java经典算法题(三)
【程序3】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。原创 2017-08-26 13:50:24 · 12018 阅读 · 0 评论 -
Java经典算法题(四)
【程序1】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。原创 2017-08-26 13:59:39 · 12286 阅读 · 0 评论 -
Java经典算法题(五)
题目:求一个3*3矩阵对角线元素之和。程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。原创 2017-08-26 14:07:40 · 11603 阅读 · 0 评论 -
MD5算法底层原理
MD5算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果。第一步:处理原文 首先,我们计算出原文长度(bit)对512求余的结果,如果不等于448,就需要填充原文使得原文对512求余的结果等于448。填充的方法是第一位填充1,其余位填充0。填充完后,信息的长度就是512*N+448。 ...转载 2018-03-13 11:26:26 · 27239 阅读 · 2 评论