数据结构
文章平均质量分 77
猫猫玩机器学习
这个作者很懒,什么都没留下…
展开
-
树的广度优先搜索(BFS),深度优先搜索(DFS)
BFS:Breadth First Search,广度优先搜索DFS:Depth First Search,深度优先搜索如图,A节点的下一级元素为B节点和C节点,B节点的下一级元素为D节点和E节点,C节点的下一级元素为F节点和G节点。BFS优先遍历当前节点下一级节点的同级元素,即若当前节点为A节点,则继续遍历的节点为B和C;当A的所有相邻节点遍历完以后,再遍历B节点的相邻节点D节点和E节点,以及C节点的相邻节点F节点和G节点。至此,所有节点遍历完成。DFS优先遍历当前节点下一级节点的下一级元素,即原创 2020-08-02 14:17:12 · 3133 阅读 · 0 评论 -
树的先序遍历,中序遍历,后续遍历(递归和非递归实现)
前序遍历是先访问根节点再访问左子树最后访问右子树(中,左,右);中序遍历是先访问左子树再访问根节点最后访问右子树(左,中,右);后序遍历是先访问左子树再访问右子树最后访问根节点(左,右,中)。---------其实就是根节点的访问顺序1.前序遍历递归实现: def preOrder(self,root): if rooot == None: return print(root.val) self.preOrder(root.left) self.pre原创 2020-08-02 15:21:32 · 459 阅读 · 0 评论 -
数据结构各种排序:冒泡排序,快速排序,归并排序,插入排序,选择排序
目录1.冒泡排序1.1原理1.2时间复杂度和空间复杂度:1.3python实现:2.快速排序2.1原理2.2python实现(递归):3.归并排序3.1原理3.2复杂度3.3 python实现:4.插入排序4.1原理4.2复杂度4.3python实现1.冒泡排序1.1原理参考文章1.2时间复杂度和空间复杂度:参考文章时间复杂度:这个时间复杂度还是很好计算的:外循环和内循环以及判断和交换元素的时间开销;最优的情况也就是开始就已经排序好序了,那么就可以不用交换元素了,则时间花销为:[ n(n-.原创 2020-08-17 17:12:30 · 638 阅读 · 0 评论