最近在利用Flutter项目进行真机调试时,遇到了"XXX" cannot be opened because the developer cannot be verifie...
最近在利用Flutter项目进行真机调试时,遇到了"XXX" cannot be opened because the developer cannot be verifie...
最近在更新Plugin的时候,出现了marketplace plugins are not loaded…的错误,搜索并尝试了国内一些开发者的解决方案后,并没有得到解决。我的...
串(Sequence) 在本章节内容中研究的串是开发中熟悉的字符串,大家都知道,字符串是由若干个字符组成的有限序列。 例如有下图所示的字符串,可以看到该字符串有5个字符组成 ...
B+树 B+树是B树的一种变体,常用语数据库和操作系统的问题件系统中 MySQL数据库的索引就是基于B+树实现的 下图为B+树的大概结构 B+树与前面研究的B树,B+树有以下...
首先来思考一个问题。 一个有序链表(下图),搜索,添加,删除的平均时间复杂度是多少? 通过对链表这种数据结构的了解可以知道 搜索必须要从表头节点开始,依次往后搜索,直到搜索到...
布隆过滤器(Bloom Filter) 思考 如果要经常判断一个元素是否存在,是你的话,你会考虑怎么做? 很容易想到,可以使用哈希表(HashSet,HashMap),将元素...
动态规划(Dynamic Programming) 动态规划,简称DP,它是求解最优化问题的一种常见策略。例如前面章节中提到的找零钱问题,要求找的硬币个数最少;或者最大连续子...
分治(Divide And Conquer) 分治,也就是分而治之。它的一般步骤如下 将原问题分解成为若干个规模较小的子问题(子问题和原问题的结构一样,只是规模不一样) 子问...
贪心(Greedy) 贪心策略:也称为贪婪差略 使用贪心策略,在执行每一步的过程中,都会选择当前状态下的最优解(局部最优解),从而希望推导出全局最优解 贪心的应用 哈夫曼树 ...
尾调用(Tail Call) 一个函数的最后一个动作是调用函数的话,就成为是尾调用。例如下面的代码 上面test1函数的最后一个动作是调用test2函数,所以可以认为test...
结合前面的Dijkstra算法或者Bellman-Ford算法,其实也可以计算出任意两个顶点之间的最短路径。例如下图 以Dijkstra为例: 如果要计算出任意两个顶点之间的...
在前面,介绍了Dijkstra算法,计算图的最短路径,但是Dijkstra算法在计算最短路径时,有一个前提,就是不能有负权边,那如果在有负权边的情况下, 需要计算图的最短路径...
Dijkstra Dijkstra属于单源最短路径算法,用于计算一个顶点到其他所有顶点的最短路径。 使用前提:不能有负权边。也就是说,如果图中有负权边,不能使用Dijkstr...
最短路径(Shortest Path) 最短路径是指两个顶点之间权值之和最小的路径(有向图,无向图均可,不能有负权环) 最短路径到底表达的是什么意思呢? 例如下面的有向图 从...
Kruskal算法 以Prim算法一样,Kruskal算法也可以用来计算图的最小生成树。 Kruskal算法执行过程 首先了解以下Kruskal算法的描述 按照边的权重顺序(...
在研究Prim算法之前,首先要了解一个概念。切分定理 切分定理 切分(Cut):把图中的节点分为两部分,成为一个切分 例如下图,该图上有5个顶点 现在,利用虚线,将图分割为2...
生成树(Spanning Tree) 生成树(Spanning Tree),也称为支撑树 连通图的极小连通子图,它含有图中全部的n个顶点,恰好只有n - 1条边 连通图的概念...
在研究拓扑排序之前,先来了解一个概念。 AOV网(Activity On Vertex Network) 什么叫AOV网呢?在生活中经常有这种情况,一项大的工程,常常被分为多...