算法分析与优化
BruceCheen
这个作者很懒,什么都没留下…
展开
-
打印集合的全排列
今天,我们上了算法设计与优化这门课程,老师在课堂上提到了一个打印集合的全排列问题,我刚刚试了一下:算法思路:(1):将n个元素的集合中的每个元素与第一个元素交换位置(2):对剩下的n-1个元素的集合再进行全排列(3):再将该元素与原先第一个元素的位置换回来#include<stdio.h>void permutation(int list[],int m,int n)//输...原创 2018-09-19 21:58:08 · 387 阅读 · 0 评论 -
学习平衡二叉树(AVL树)
若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。它的左右子树也分别可以充当为二叉查找树。如下图:AVL的优点:它可以查找效率高。例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可以很快着找到它,其过程如下:1、和根节点9比较2、由于 14 &gt; 9,所以14只可能存在于9的右子树中...转载 2018-10-15 18:12:16 · 248 阅读 · 0 评论 -
学习二叉堆
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。1 什么是二叉堆?二叉堆是一种特殊的堆。具有如下的特性:具有完全二叉树的特性。堆中的任何一个父节点的值都大于等于它左右孩子节点的值,或者都小于等于它左右孩子节点的值。根据第二条特性,我们又可以把二叉堆分成两类:1、最大堆:父节点的值大于等于左右孩子节点的值。2、最小堆:父节点的值小于等于左右孩子节点的值。我们把二叉堆的根...转载 2018-10-20 12:54:00 · 129 阅读 · 0 评论 -
学习堆排序
排序算法相必大家都见过很多种,例如快速排序、归并排序、冒泡排序等等。今天,我们就来简单讲讲堆排序。在上一篇中,我们讲解了二叉堆,今天的堆排序算法主要就是依赖于二叉堆来完成的,不清楚二叉堆是什么鬼的,可以看下:1 用辅助数组来实现堆排序算法假如给你一个二叉堆,根据二叉堆的特性,你会怎么使用二叉堆来实现堆排序呢?我们都知道,二叉堆有一个很特殊的节点 —- 堆顶,堆顶要嘛是所有节点的最大元素,要...原创 2018-10-20 15:24:47 · 126 阅读 · 0 评论 -
caffe预测时deploy文件的修改
添加链接描述转载 2018-12-14 10:24:21 · 280 阅读 · 0 评论 -
python:求解第k个最大的数
参考链接1参考链接2转载 2019-02-24 15:54:14 · 1350 阅读 · 0 评论 -
理解KKT条件
直观理解KKT条件KKT(Karush-Kuhn-Tucher)条件转载 2019-03-09 11:36:02 · 3445 阅读 · 0 评论 -
二叉树的深度优先遍历(先序遍历)和广度优先遍历(层次遍历)
复制链接对于一颗二叉树,深度优先搜索(Depth First Search)(其实是二叉树的先序遍历)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点,现将右子树压栈,再将左子树压栈,这样左子树就位于栈顶,可以保证...转载 2019-03-04 13:11:31 · 9542 阅读 · 0 评论 -
学习:mAP
添加链接描述Mean Average Precision(MAP):平均精度均值1.MAP可以由它的三个部分来理解:P,AP,MAPP(Precision)精度,正确率。在信息检索领域用的比较多,和正确率一块出现的是召回率Recall。对于一个查询,返回了一系列的文档,正确率指的是返回的结果中相关的文档占的比例,定义为:precision=返回结果中相关文档的数目/返回结果的数目;而召回...转载 2019-05-16 10:35:38 · 313 阅读 · 0 评论