算法
陆老师Peter
高校计算机专业教师、项目经理、软件研发负责人。
展开
-
《C语言综合应用》课程学习(1)——第1章 程序设计方法
1.1 问题求解1.问题的分类计算学科中有许多著名的算法类问题,例如哥尼斯堡七桥问题、梵天塔问题、背包问题、旅行商问题及项目调度优化问题等。 系统类问题广泛存在于工程、科学、经济等领域,例如,卫星导航系统就是典型的系统类问题。 算法类问题和系统类问题的求解过程、思维和方法是有很大区别的。 (1)解决算法类问题需要建立数学模型、设计数据结构、设计算法,利用某种程序设计语言编...原创 2019-10-29 23:32:25 · 1974 阅读 · 1 评论 -
《C程序设计》课程学习(2)——第二章 程序的灵魂—算法
1. 算法:为解决某一特定问题而采取的具体工作步骤和方法。2. 算法的表示:(1) 自然语言。(2) 流程图表示法。算法的特性1.有穷性2.确定性3.有零个或多个输入4.有一个或多个输出5.有效性传统流程图N-S图...原创 2019-10-18 22:24:33 · 309 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。1.A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径...转载 2019-10-08 12:47:40 · 342 阅读 · 0 评论 -
面试题-使用递归计算1,1,2,3,5这样的队列的第100个数
int sum (int x){ if(x==1|| x==2) return 1; else { result=sum(x-1)+sum(x-2); } return result; }转载 2019-07-25 23:02:13 · 239 阅读 · 0 评论 -
1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现
1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现解剖递归算法猛一看这一串数据还真看不出来个啥,但是只要你认真查找,就能看出规律。从上面可以看出前两个数相加得到第三个数。public static int SuanFa (int i) { if(i>0) { ...转载 2019-07-25 22:58:43 · 1809 阅读 · 1 评论 -
归递(1)——归递
1、递归就是函数自己调用自己。老和尚的故事。2、当递归调用层次过多的时候就会发生“StackOverflowException”异常,所以以后写程序如果遇到“StackOverflowException”异常,一般就是一个死的递归。递归都有一个递归的终止条件,就是什么时候不再递归了。3、只要程序报错“StackOverflowException”,一般就是程序中没有“递归终止条件”。递归...原创 2019-07-21 13:25:51 · 563 阅读 · 0 评论 -
记录转化为有层次结构的树状列表的通用算法
问题说明:在获取数据库记录数据的时候, 通常返回的ArrayList集合, 没有了层次关系. 如果每次根据PID重新到数据库获取记录, 可以做到, 但有以下几个缺点:1. 访问数据库记录次数随着记录的增多而增多2. 由于需要多次访问数据库, 因此访问速度受影响3. 需要数据库访问层的支持, 并对记录进行转化, 耦合性太强4. 通用性不好, 每次需要一个新的类型列表, 就需要重新...转载 2019-07-04 16:52:54 · 298 阅读 · 0 评论 -
网络安全(9)——加密算法(4)——MD5(3)——计算文件 MD5 值的方法和计算字符串 MD5 值的方法
一、计算文件MD5值的方法: /// <summary> /// 计算文件MD5值 /// </summary> /// <param name="str">需要计算的文件路径</param> /// <returns>MD5值</returns&g...原创 2019-07-13 20:53:18 · 218 阅读 · 0 评论 -
网络安全(7)——加密算法(3)——MD5(2)——MD5算法
MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错)。任何长度的任意内容都可以用MD5计算出散列值。介绍工具:CalcMD5.zip。 MD5算法不可逆,也就是只能得到内容对应的MD5值,无法由MD5值反推内容。对于不同的内容产生相同MD5值的概率非常非常非常低!Password字段保存用户输入密码的MD5值,这样系统管理员、黑客也不知道用户的密码是什么,也...原创 2019-06-29 09:34:15 · 487 阅读 · 0 评论 -
算法复杂度
概念:《数据结构》第一章,算法复杂度:时间复杂度、空间复杂度。在问题规模为N的时候,最差的情况下需要耗用的时间和空间(内存等)的数量级。面试题:分析某个算法的时间复杂度、空间复杂度。举个例子:挨个门去敲时间复杂度为O(n),空间复杂度为 O(1);脑子查时间复杂度为 O(1) ,空间复杂度为 O(n)。注意:没有常数,O(2*n)是错的,应该是O(n);去掉低阶,只保留最高阶,O(n*...原创 2019-06-22 13:11:22 · 156 阅读 · 0 评论