摘要: 这些天一直在准备毕业,写论文,改论文。现在差不多了,偷点闲,学习了一下二叉树,写点小总结,用以备忘。 先说一下树的定义(ps:这些定义都是一些通俗理解,不是真正的官方定义):(1)树由多个节点和边组成。(2)每个节点只有一个父节点但可以有多个子节点。(3)在树中只有一个例外,该节点没有父节点,该节点 阅读全文
posted @ 2016-06-07 17:17 hiyanxu 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 希尔排序又叫做递减增量排序。在这种排序中,我们将设置一个步长(增量),我们在比较数据时根据增量去进行比较,这样我们的数据会一次性前进很多步,所以希尔排序的效率要比直接插入排序的效率高。 希尔排序的思想就是我们设置一个步长,然后我们根据这个步长进行划分子序列,得到子序列1,子序列2....,然后我们对 阅读全文
posted @ 2016-05-03 22:13 hiyanxu 阅读(2967) 评论(0) 推荐(0) 编辑
摘要: 最近一段时间一直在做项目,没有时间(好吧,我也承认最近有点懒,晚上回去什么都不想干了)。不过最近这两天晚上还是看了一点,就写下来备忘吧。 排序算法之归并排序:看资料都介绍说这是一种效率非常高的算法,看有的大神进行的测试,在200000个随机数的情况下排序速度比快排还要快。 其实主要原理也非常简单,看 阅读全文
posted @ 2016-04-29 15:23 hiyanxu 阅读(4784) 评论(0) 推荐(0) 编辑
摘要: 接着昨天,排序算法-》简单插入排序。 简单插入排序算法原理:从整个待排序列中选出一个元素插入到已经有序的子序列中去,得到一个有序的、元素加一的子序列,直到整个序列的待插入元素为0,则整个序列全部有序。 在实际的算法中,我们经常选择序列的第一个元素作为有序序列(因为一个元素肯定是有序的),我们逐渐将后 阅读全文
posted @ 2016-04-15 21:44 hiyanxu 阅读(34335) 评论(5) 推荐(1) 编辑
摘要: 今天继续介绍一种排序算法:选择排序。 选择排序的基本思想就是从待排序列中选择出最小的,然后将被选出元素和序列的第一个元素互换位置(当前默认是升序排列),则互换完成后第一个元素就是整个序列的最小的元素,则一次选择排序结束。然后我们从剩下的子序列中选择出最小的,然后将该被选出来的元素和该子序列的第一个元 阅读全文
posted @ 2016-04-14 22:36 hiyanxu 阅读(3585) 评论(0) 推荐(0) 编辑
摘要: 排序算法包括很多种,其中快速排序是其中一种比较快的排序算法,今天就来介绍一下: 快速排序的基本实现思想就是将当前待排序列分成两个部分、一个值。一个值:就是选定出一个值作为被比较的元素。两个部分:所有比该被选定元素大的部分都去该元素的右边,所有比被选定元素小的部分都去该元素的左边。这样我们就确定了该元 阅读全文
posted @ 2016-04-12 23:11 hiyanxu 阅读(22927) 评论(0) 推荐(0) 编辑
摘要: 对于很多学习过c语言的同志们来说都知道指针是c语言中最最精粹的地方。就拿我现在主攻的php语言来说,php这种动态脚本语言底层也是用c来实现的,当我们实例化一个对象时,其实真正的过程也是一个在栈内存中的地址指向堆内存中真正的对象的过程,也就是说真正的对象时放在堆内存中,栈内存中放的是指向堆内存中对象 阅读全文
posted @ 2016-04-02 22:43 hiyanxu 阅读(7535) 评论(0) 推荐(1) 编辑
摘要: 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优 阅读全文
posted @ 2016-03-24 16:53 hiyanxu 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 这几天因为要做一个项目,需要可以对Web应用中通用功能进行封装,其中一个很重要的涉及到了对用户、角色和权限部分的灵活管理。所以基于TP框架自己封装了一个对操作权限和菜单权限进行灵活配置的可控制模式。 RBAC角色权限分配模式大家或许都不陌生,其重要的访问控制原理就是将权限基于角色进行动态分配,在一个 阅读全文
posted @ 2016-03-22 20:35 hiyanxu 阅读(2414) 评论(0) 推荐(0) 编辑
摘要: 在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率。 除了能够提高服务的运行效率之外,服务端缓存还常常用来提高服务的扩展性。因此一些大规模的Web应用,如Facebook,常常构 阅读全文
posted @ 2016-02-28 18:48 hiyanxu 阅读(10409) 评论(0) 推荐(1) 编辑