- 博客(14)
- 资源 (31)
- 问答 (1)
- 收藏
- 关注
原创 归并排序算法的过程图解
归并排序的时间复杂度,在最坏,最好和平均都是O(nlogn),这是效率,性能非常好的排序算法。只不过它需要占用 O(n)的内存空间,如果数据量一旦很大,内存可能吃不消,这是它的弱点和致命伤。而其他排序算法,比如快速排序,希尔排序,都是就地排序算法,它们不占用额外的内存空间。
2017-10-31 07:55:06 32031 5
原创 直接插入排序到希尔排序做的那些改进
彻底弄明白常用的排序算法的基本思想,算法的时间和空间复杂度,以及如何选择这些排序算法,确定要解决的问题的最佳排序算法,已经总结了冒泡排序和其改进后的快速排序算法,直接选择排序和堆排序算法,下面总结直接插入排序到希尔排序做的改进,后面再继续总结归并排序和基数排序。
2017-10-30 09:02:16 2566 1
原创 直接选择排序到堆排序做的那些改进
1 你会学到什么 2 讨论的问题是什么 3 相关的概念和理论 4 直接选择排序基本思想升序排序的例子算法评价 5 直接选择的优化版之堆排序自学成才的计算机科学家 Flody堆排序的基本概念堆排序的算法思想堆排序是如何工作的应用堆排序得到升序排序的例子算法评价 6 总结 1 你会学到什么?彻底弄明白常用的排序算法的基本思想,算法的时间和空间复杂度,以及如何选择这些排序算法
2017-10-29 08:24:09 3096
原创 冒泡排序到快速排序做的那些优化
你会学到什么?彻底弄明白常用的排序算法的基本思想,算法的时间和空间复杂度,以及如何选择这些排序算法,确定要解决的问题的最佳排序算法,我们先总结下冒泡排序和其改进后的快速排序这两个算法,后面再继续总结插入排序、希尔排序、选择排序、堆排序、归并排序和基数排序。讨论的问题是什么?各种排序算法的基本思想;讨论各种排序算法的时间、空间复杂度;以及算法的稳定性;算法是如何改进的,比如冒泡排序如何改
2017-10-28 07:39:51 3031
原创 二叉树非递归版的后序遍历算法
你会学到什么?树的递归遍历算法很容易理解,代码也很精简,但是如果想要从本质上理解二叉树常用的三种遍历方法,还得要思考树的非递归遍历算法。读完后的收获:将学到二叉树的后序遍历的非递归版本明白栈这种数据结构该怎么使用讨论的问题是什么?主要讨论二叉树的非递归版后序遍历该如何实现,包括借助什么样的数据结构,迭代的构思过程等。相关的概念和理论遍历 Traversal 指沿着某条搜索路线,依次对树中每个结
2017-10-27 15:57:32 8395
原创 图解二叉树非递归版的中序遍历算法
你会学到什么讨论的问题是什么这个问题相关的概念和理论非递归版中序遍历算法代码思考算法技巧实现代码快照评价算法总结欢迎关注算法思考与应用公众号你会学到什么?树的递归遍历算法很容易理解,代码也很精简,但是如果想要从本质上理解二叉树常用的三种遍历方法,还得要思考树的非递归遍历算法。读完后的收获:您将学到二叉树的中序遍历的非递归版本明白栈这种数据结构该怎么使用讨论的问题是什么?主
2017-10-26 12:57:45 4645
原创 算法思想-深度搜索算法-leetcode相关题目总结
搜索算法深度优先搜索分析过程实现代码进出栈过程示意图 DFS算法应用-Leetcode相关题目 Leetcode 78 Subsets Leetcode 90 Subsets II Leetcode 47 Permutations II Leetcode 131 Palindrome Partitioning答案搜索算法搜索算法,常见的几种形式,深度优先,广度优先,二分搜索,应
2017-10-24 17:31:25 7583
原创 WCF 分布式事务
事务属性当在面向服务的应用程序中使用事务时,必须遵守四个核心属性,也就是ACID:原子性(Atomic)、一致性(Consistent)、隔离性(Isolated)和持久性(Durable)。注意点 在一个事务处理中,不要访问非事务的资源很关键(如文件系统),因为事务一旦被中止,是不会回滚这些非事务资源上的改变。事务管理WCF服务能够直接处理事务性的资源,并通过显式地使用编程模型(如ADO.NET
2017-10-18 16:11:18 355
原创 WCF 错误处理
错误概述在设计良好的应用程序中,服务应该是被封装的,客户端无法知道有关错误的消息。设计良好的服务应尽可能是自治的,不能依赖客户端去处理或恢复错误。 任何非空的错误通知都应该是客户端与服务端之间契约交互的一部分。WCF错误处理的关键3个技术点错误隔离 错误屏蔽 通道故障错误隔离当代表某个客户端的服务调用导致异常时,并不会寄宿在宿主进程,其它客户端仍然可以访问该服务。 这是必须的!托管在相同进程
2017-10-18 15:20:18 463
原创 WCF分布操作-如何判断通道关闭并再次创建通道
分布操作含义解释一个会话协定的操作有时会隐含了操作调用的顺序。有的操作不能被最先调用,而有的操作则必须被最后调用。WCF实现分布操作的技术WCF允许协定设计者指定协定操作为启动会话的操作,还是终止会话的操作,方法是使用 OperationContract 特性的 IsInitiating 和 IsTerminating 属性,还有一个前提条件是,必须在相应的服务协定上添加 SessionMode 设
2017-10-17 16:35:16 1220
LeetCode-Manager
2017-06-10
LeetCode 完成题目管理工具
2017-06-10
.NET-BackgroundWorker实现异步处理和滚动条报告进度Demo
2017-05-05
归并排序算法程序模拟
2017-03-30
.NET-TreeView控件扩展功能:CheckBoxs父子选中状态同步和自动调整
2017-03-28
快速排序算法实现
2017-03-16
.NET: Xml.Serialization常用对象导图
2017-03-10
如何由浅复制到深度复制
2017-03-07
C#中的ArrayList导图
2017-03-07
用C#描述数据结构2:Array
2017-03-06
统计代码执行时间对象
2017-03-06
根据业务倒推观察者模式
2017-03-05
mvc 新建本地mdf 出错
2017-03-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人