- 博客(8)
- 收藏
- 关注
原创 带权图、最小生成树、prim算法python实现
|-带权图:用python内置数据类型dict存储带权图的边|-最小生成树问题和切分定理 最小生成树:对于一个完全连通的具有v个结点的无向带权图,找到v-1条边使v个节点连通 且他们的权值之和最小 切分定理:给定任意切分 横切边中权值最小的边必然属于最小生成树 反证法可证 prim算法的第一个实现:Lazy Prim 时间复杂度O(Elog...
2018-05-29 00:26:02 1952
原创 图的数据结构及深度优先、广度优先、最短路径算法python实现
|-图的表示 邻接矩阵:适合表示稠密图(完全图) 邻接表:适合表示稀疏图|-图的遍历 深度优先遍历 可以用于计算图的连通分量个数 寻路: 定义一个from数组指向该点的前一个节点 复杂度: 邻接表-O(n+e) 邻接矩阵-O(n^2) 广度优先遍历 最短路径 复...
2018-05-28 14:15:36 2090
原创 二分搜索树及相关算法python实现
|-二分查找法 时间复杂度O(logn)|-二分搜索树 特点: 高效 不接可以查找数据 插入删除数据的复杂度都是O(logn) 可以方便的回答很多数据之间的关系 min max floor ceil select 定义: 二叉树(不一定是完全二叉树) 每个节点的键值大于左孩子、小于右孩子 以左右孩...
2018-05-25 23:43:01 1143 1
原创 堆存储、堆排序 python实现
|—使用堆实现优先队列: 对于总共N个请求 使用普通数组或者顺序数组 最差情况O(N^2) 使用堆 O(N*Log N)|-堆的基本实现 二叉堆:任何一个子节点都不大于他的父节点 必须是一棵完全二叉树 用数组存储二叉堆:|-shift up|-shift down|-基础堆排序 heapSort1|-heapify 堆排序 ...
2018-05-24 19:44:28 303
原创 归并排序、快速排序、二路快排、三路快排python实现
源代码:https://github.com/lzneu/Algrithm_pythonO(n*logn)级别的排序:|-归并排序 分成log(n)个层级 每个层级进行O(n)排序 每次归并时 开辟一个新的存储空间作为辅助 因此需要使用O(n)多的空间 用三个索引进行归并 时间复杂度O(n) 当n比较小的时候 由于复杂度前面都有常数项 因此 归并有时比插入排序满 可在此处进...
2018-05-23 21:26:50 1588
原创 基础排序算法(冒泡排序、选择排序、插入排序、希尔排序 )python实现
基础排序笔记:|-为什么要学习O(n^2)的排序算法 基础 编码简单易于实现 在一些特殊的情况下 简单的排序算法更有效 简单的排序思想衍生出复杂的排序算法 作为子过程 改进更复杂的排序算法|-选择排序 两层循环必须完全执行完成o(n^2)|-插入排序 在近乎有序的数据中 排序速度很快 甚至快于O(n*logn)排序算法 当完全有序时 复杂度为O(n)...
2018-05-21 16:46:53 302
原创 解决skmultilearn.ensemble.rakelo库中的预测值全0问题
找到 rakelO源码中的rakelo.py 文件此处在最后m个lp分类器进行投票求平均时 源码的分母是voters[column] 也就是统计了预测结果中该标签的所有取值的和在进行四舍五入,这样的出的结果一定是全0的解决办法: 将分母改成self.model_count...
2018-05-10 13:18:24 494
原创 有关skmultilearn.ensemble导入失败的问题
提示python 格式错误 估计是作者写源码时的漏洞报错位置是fixed.py中红框位置找到源码中的fixed.py 修改源码 将y.shape[1]手写一遍 再次导入就没有问题了
2018-05-10 11:21:43 1442 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人