码迷,mamicode.com
首页 >  
搜索关键字:数据结构与算法 3:二叉树    ( 1805个结果
十大经典排序算法动画与解析,看我就够了!(配代码完全版)
GitHub Repo:Sort Article Follow: MisterBooo · GitHub 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程 ...
分类:编程语言   时间:2018-12-07 11:57:34    阅读次数:217
在Object-C中学习数据结构与算法之排序算法
笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳。 目录 选择排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序 总结与收获 参考与阅读 选择排序 选择排序是一种简单直观的 ...
分类:编程语言   时间:2018-12-05 20:33:04    阅读次数:140
python数据结构与算法(16)
时间复杂度最优时间复杂度:O(nlogn)最坏时间复杂度:O(n)稳定性:不稳定从?开始快速排序平均需要花费O(nlogn)时间的描述并不明显。但是不难观察到的是分区运算,数组的元素都会在每次循环中?访过?次,使?O(n)的时间。在使?结合(concatenation)的版本中,这项运算也是O(n)。在最好的情况,每次我们运??次分区,我们会把?个数列分为两个?近相等的?段。这个意思就是每次递归调
分类:编程语言   时间:2018-12-04 19:09:29    阅读次数:198
python数据结构与算法(19)
?叉树?叉树的基本概念?叉树是每个节点最多有两个?树的树结构。通常?树被称作“左?树”(leftsubtree)和“右?树”(rightsubtree)?叉树的性质(特性)性质1:在?叉树的第i层上?多有2^(i-1)个结点(i>0)性质2:深度为k的?叉树?多有2^k-1个结点(k>0)性质3:对于任意?棵?叉树,如果其叶结点数为N0,?度数为2的结点总数为N2,则N0=N2+1;性
分类:编程语言   时间:2018-12-04 19:09:19    阅读次数:156
python数据结构与算法(15)
选择排序选择排序(Selectionsort)是?种简单直观的排序算法。它的?作原理如下。?先在未排序序列中找到最?(?)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最?(?)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换?对元素,它们当中?少有?个将被移到
分类:编程语言   时间:2018-12-04 18:59:44    阅读次数:206
python数据结构与算法(20)
?叉树的遍历树的遍历是树的?种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问?次且仅访问?次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和?度优先遍历,深度优先?般?递归,?度优先?般?队列。?般情况下能?递归实现的算法?部分也能?堆栈来实现。深度优先遍历对于?颗?叉树,深度优先搜索(DepthFirstSear
分类:编程语言   时间:2018-12-04 18:57:16    阅读次数:185
python数据结构与算法(17)
归并排序归并排序是采?分治法的?个?常典型的应?。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最?之后,然后合并两个有序数组,基本思路是?较两个数组的最前?的数,谁?就先取谁,取了后相应的指针就往后移?位。然后再?较,直??个数组为空,最后把另?个数组的剩余部分复制过来即可。归并排序的分析65318724defmerge_sort(alist):iflen(alist)<=1:r
分类:编程语言   时间:2018-12-04 18:55:47    阅读次数:195
python数据结构与算法(18)
树与树算法树的概念树(英语:tree)是?种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,?来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成?个具有层次关系的集合。把它叫做“树”是因为它看起来像?棵倒挂的树,也就是说它是根朝上,?叶朝下的。它具有以下的特点:每个节点有零个或多个?节点;没有?节点的节点称为根节点;每?个?根节点有且只有?个?节点;除了根节点外,
分类:编程语言   时间:2018-12-04 18:48:33    阅读次数:174
Android版数据结构与算法(八):二叉排序树
本文目录 前两篇文章我们学习了一些树的基本概念以及常用操作,本篇我们了解一下二叉树的一种特殊形式:二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。 一、二叉排序树定义 二叉排序树或者是一颗空树,或者是具有下列性质的二叉树: 若它 ...
分类:移动开发   时间:2018-12-04 13:08:10    阅读次数:227
数据结构与算法之美-堆的应用
堆的应用一:优先级队列 优先级队列首先应该是一个队列。队列最大的特性就是先进先出。但是在优先级队列中,出队顺序不是先进先出,而是按照优先级来,优先级最高的,最先出队。 用堆来实现优先级队列是最直接、最高效的。这是因为,堆和优先级队列非常相似。一个堆就可以看作一个优先级队列。很多时候,它们只是概念上的 ...
分类:编程语言   时间:2018-12-02 20:10:42    阅读次数:250
1805条   上一页 1 ... 61 62 63 64 65 ... 181 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!