摘要: 最近阅读了一本涉及到单元测试和重构知识的书--《驯服烂代码》。这本书中讲到了什么是烂代码,在编程过程中怎样避免产出烂代码,更重要的是可以尽量避免写bug,代码写的漂亮对日后的维护工作影响很大。记得自己第一次写项目的时候,满满地输出bug,而且那会还不懂得如何优化代码,后果就是每增加一些需求或改变一些 阅读全文
posted @ 2016-07-16 22:17 forrHuen 阅读(485) 评论(0) 推荐(0) 编辑
摘要: url schemes在iOS开发中的应用场景分别是应用间跳转、UIWebView与JavaScript交互。 一.应用间跳转 设置应用间跳转的步骤:自家app->info->url types 中添加微信的url schemes,并且要在自家app.plist文件支持跳转白名单中加入微信的url 阅读全文
posted @ 2016-03-08 15:43 forrHuen 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 一.完全二叉树:子节点只存在左右节点的树。下标特征:父节点=子节点/2。 二.最小堆:从根节点开始,由小到大展开的完全二叉树。 三.二叉排序树(又名二叉搜索树):左节点都小于父节点,右节点都大于父节点的二叉树。(常用中根遍历) 四.核心:二叉树的遍历(前序、中序、后序),遍历二叉树通用方法使用分治的 阅读全文
posted @ 2016-02-26 11:00 forrHuen 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 图-分有向图和没向图 1 / | \ 2 3 — 5 | 4 1.输出遍历的路径(图深度优先搜索实现) //1代表有边,5代表没边int book[101],sum,n=6,m=6,e[101][101] = { {0,0,0,0,0,0}, {0,0,1,1,5,1}, {0,1,0,5,1,5} 阅读全文
posted @ 2016-02-26 10:37 forrHuen 阅读(210) 评论(0) 推荐(0) 编辑
摘要: /** 二分查找 */ int binarySearch(int nums[] ,int target,int count); int main(int argc, const char * argv[]) { @autoreleasepool { int count = 7; int a[7] = 阅读全文
posted @ 2016-02-26 09:58 forrHuen 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.对1、2、3 ,3个数全排列(排列考虑顺序) //万能的搜索-递归 dfs(1); 递归 int a[3],book[3],n=3; void dfs(int step) { //如果站在n+1个盒子面前,则表示前n个盒子已经放好的牌 if (step == n+1) { for (int i 阅读全文
posted @ 2016-02-26 09:57 forrHuen 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 一.链表由N个结点组成。结点的结构如下 1.head.val表示结点head的值,用于比较,或者重设 2.head.next表示结点head的next指针存储(连接)下一个结点的内存地址 二.改变链表结构的操作(插入、删除),需要注意空结点,防止出现越界异常。 1.在head结点后插入新结点,前提h 阅读全文
posted @ 2016-02-26 09:56 forrHuen 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 1.坐标形动态规划 相关图形(三角形),代码在二维矩阵中,往下走,往右走。 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。 如: [ [2], [3,4], [6,5,7], [4,1,8,3] ] public static int minimumTota 阅读全文
posted @ 2016-02-26 09:56 forrHuen 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.桶排序 //对0~10范围内的5个数桶升序 int a[11],t=0; for (int i=0; i <=10; i++) { a[i]=0;//设置11个空桶,用于记录用户输入的数;n个范围 } for (int i= 0; i< 5; i++) { scanf("%d",&t); a[t 阅读全文
posted @ 2016-02-26 09:55 forrHuen 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 队列:1种头部出列,尾部入队的数据结构,当头尾下标相等时队列为空。 队列是广度优先搜索的核心数据结构。 ============================= 1.第一个数删除,下一个数放到最后,直到没有数可以再删除,顺序打印删除的数。 //对6,3,1,7,5,8,9,2,4数进行出队入队操作 阅读全文
posted @ 2016-02-26 09:55 forrHuen 阅读(230) 评论(0) 推荐(0) 编辑