
算法
文章平均质量分 67
-FIGHTING-
这个作者很懒,什么都没留下…
展开
-
MD5文件加密
#import @interface NSString(MD5Addition)- (NSString *) stringFromMD5;@end#import "NSString+MD5Addition.h"#import @implementation NSString(MD5Addition)- (NSString *) stringF转载 2015-08-30 00:09:27 · 797 阅读 · 0 评论 -
循环和递归的异同
算法其实还是很有意思的 慢慢研究 收获会很大 简单的来讲解一下 循环与递归的异同 1.相同:递归与循环都是解决 重复操作的机制 2.不同 就算法效率而言,递归算法的实现往往要比迭代算法消耗更多的时间(调用和返回均需要额外的时间)与存储空间(用来保存不同次调用情况下变量的当前值得栈空间)也限制了递归的深度。 每个迭代算法原则上总可以转换成与它等价原创 2015-09-30 02:00:14 · 3802 阅读 · 0 评论 -
几种经典常用加密算法
1.MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说原创 2015-10-27 11:08:17 · 9944 阅读 · 0 评论 -
Swift 闭包排序算法
闭包表达式是一种利用简洁的语法构建内敛的闭包的方式。闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。sort(_:)方法定义和语法优化的方式。每一次迭代都使用简洁的方式描述了相同的功能。Swift标准库提供了名为sort的方法,会根据您提供的用于排序的闭包函数将已知类型数组中的值进行排序。一旦排序完成,sort(_:)方法会返回一个与原数组大小相同,包含同类型元素已正确排序的新数组。原原创 2016-01-27 13:19:28 · 931 阅读 · 0 评论 -
遍历导航控制器
项目当中有时候会用到判断 当前控制器是哪个控制器跳转过来的 因此我们需要找到一个方法拿到 上一个导航控制器 我们可以通过遍历的方式来获取导航控制器中 控制器的元素 下面提供了两种方式遍历 for-in enumerateObjectsUsingBlock- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(原创 2016-01-28 13:08:10 · 1580 阅读 · 0 评论 -
数据结构-双向链表
双向链表的构造所谓的双向链表是指链表的每一个结点中除了数据域外设置两个指针域,其中之一指向结点的直接后继结点,另外一个指针指向结点的直接前驱结点。链表的实际结构可以如下描述:双向链表的几种形式类型定义typedef struct node {ElemType data;struct node *rlink,*llink;原创 2017-11-17 14:48:03 · 560 阅读 · 0 评论 -
数据结构-堆栈和队列
堆栈的定义后进先出二、堆栈的基本操作1.插入(进栈、入栈)2.删除(出栈、退栈)3.测试堆栈是否为空4.测试堆栈是否已满5.检索当前栈顶元素数组 静态结构堆栈 动态结构溢出 上溢 当堆栈已满时做插入操作(top = M-1)下溢 当堆栈为空时做删除操作(top = -1)原创 2017-11-17 14:51:11 · 419 阅读 · 0 评论 -
数字证书原理,公钥私钥加密 - 读过最浅显易懂的密钥topic
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!1 基础知识这部分内容主要解释一些概念和术语,最好是先理解这部分内容。1.1 公钥密码体转载 2017-11-30 17:26:24 · 1658 阅读 · 1 评论 -
Hash算法总结
1. Hash是什么,它的作用先举个例子。我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志。也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,身份证也可以伪造。最可靠的办法是把一个人的所有基因序列记录下来用来代表这个人,但显然,这样做并不实际。而指纹看上去是一种不错的选择,虽然一些专业组织仍然可以模拟某个人的指纹,但这种代价实在太高转载 2017-11-30 17:51:41 · 444 阅读 · 0 评论