算法与数据结构
镇上村树
这个作者很懒,什么都没留下…
展开
-
C快速排序-思想、原理与实现-简笔
快速排序快速排序是很常用的排序方法,它的时间复杂度较理想,平均时间复杂度为O(NlogN)(注:最坏情况下时间复杂度与冒泡排序相同,都是O(N²))。快速排序的本质是二分思想:将一系列数按照某个基准,分为大于它的数和小于它的数,将这两组数分出来后,再用递归的思想使用相同的一段代码再次分数,直到最后完成排序。具体思路选择一个基准数;基准就是判断标准,它决定了大于它和小于它的数会在每一次递归快速排序中原创 2017-09-15 13:05:16 · 516 阅读 · 0 评论 -
深度优先搜索DFS-C语言实现、思路/解析-简笔
简介基本模型-通用套路走迷宫-应用深度优先搜索思路实现执行结果简介深度优先搜索Depth First Search是对图论问题的分析解决,其核心思想就是就是解决1、当下应该如何做;2、下一步如何做与现在这一步如何做是一样的;3、边界条件的判断;基本模型-通用套路void dfs(step){ /*1.判断边界,判断本阶段的DFS是否已经结束了*/ if(foo == ba原创 2017-09-16 11:35:41 · 14396 阅读 · 1 评论 -
深度优先搜索和广度优先搜索的区别
深度优先搜索Depth First Search(DFS):对每条路径一次性地尝试其所有可能的情况,将这条路径的所有情况都分析完,直到完成搜索或搜索不到的时候返回。广度优先搜索Breadth First Search(BFS):又称宽度优先搜索;对每个点,通过一层层的形式,每个点的每个可能的路径只深入一定的层数,当该点的所有可能都尝试完成后,在深入更深的搜索。相当于是层层深入的搜索,是一个点的各个方原创 2017-09-16 13:19:33 · 2634 阅读 · 0 评论 -
广度优先搜索BFS-C实现、思路、解析和总结
广度优先搜索BFS基本简介实现思路实现效果C代码实现广度优先搜索BFS基本简介对于每一个点,找到这个点能够直接连通的点,只做广度上的搜索而不做深度的搜索,在这个点的所有广度都搜索完成后,再扩展、深入到下一个深度进行广度搜索,最终完成所有搜索。实现思路在一个带有障碍物的迷宫(二维数组)中模拟使用广度优先搜索来走迷宫。使用一个结构体数组来模拟一个队列,该队列记录每一个点的广度,在某一个层次的所有原创 2017-09-16 16:29:31 · 6255 阅读 · 0 评论 -
《啊哈算法》学习笔记
时间复杂度排序队列栈链表队列栈链表模拟链表枚举穷举搜索深度优先搜索DFSDepth First Search广度优先搜索BFSBreadth First Search图图的邻接矩阵存储法Floyd-Warshall多源最短路径的套路模型负权回路负权环DijkstraBellman-Ford树二叉树满二叉树完全二叉树时间复杂度时间复杂度计算的时候可以忽略较小原创 2017-09-25 09:56:52 · 959 阅读 · 0 评论 -
Base64编码原理分析
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这样就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,开辟一种新的方案来支持二进制文件的传送。把不可见字符用可见字符来表示。而Base64...原创 2019-04-26 09:45:31 · 497 阅读 · 0 评论