算法
文章平均质量分 88
echo__Moon
这个作者很懒,什么都没留下…
展开
-
八大排序算法总结
算法一:冒泡排序每次比较相邻两元素,若错序则交换,多次遍历,直至无交换,实质上需要排序k-1趟,每次找到未排序元素中的最大值放在已排序序列最后面,稳定。void bubble_sort(int array[], int n){ int i, j; for (i = 0; i < n - 1; i++) //排序n-1趟,每次寻找未排序序列中的最大值 {...原创 2017-11-18 21:05:57 · 227 阅读 · 0 评论 -
SVM的常见面试点
支持向量机(supportvector machine ,SVM)是一种二类分类模型.它的基本模型是定义在特征空间上的能够正确划分训练数据集并且几何间隔最大的线性分类器。支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题,支持向量机的学习算法是求解凸二次规划的最优化算...原创 2018-09-11 16:49:44 · 7369 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记五——排序
整个排序能够在主存中完成,元素个数相对较小(小于10^6),称为内部排序,若不能在主存中完成而必须在磁盘或磁带上完成的排序则为外部排序。插入排序 由N-1趟排序组成,对于P = 1到P=N-1趟,插入顺序保证从位置0到P上的元素为已排序状态。void insertSort(vector<int>& a){ int i, j;...原创 2018-08-21 21:23:42 · 384 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记四——散列表(哈希表)、优先队列(堆)
哈希表 散列(hash)是以常数平均时间复杂度进行插入,删除和查找的继续,但不支持排序操作。 每个关键字被映射到从0到TableSize-1范围中的某个数,并放到适当的单元中,这个映射就叫做散列函数(hash function),理想情况下不同关键字映射到不同单元,但由于单元有限,因此要寻找散列函数在单元间均匀地分配关键字。当两个关键字散列映射到同一个值的时候...原创 2018-08-21 16:35:10 · 674 阅读 · 0 评论 -
Leetcode——Path Sum系列及unique paths系列
112. Path SumGiven a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.Note: A leaf is a node with no chil...原创 2018-08-24 15:22:09 · 116 阅读 · 0 评论 -
Leetcode——House Robber系列
198. House RobberYou are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is ...原创 2018-08-23 22:16:11 · 395 阅读 · 0 评论 -
Leetcode——Best Time to Buy and Sell Stock系列
121. Best Time to Buy and Sell Stock(一次)Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (i.e.,...原创 2018-08-23 20:59:39 · 155 阅读 · 0 评论 -
《剑指offer》学习笔记
扎实的基础知识:1.编程语言(C++):概念理解 分析代码运行结果 写代码定义一个类或类的成员函数(构造函数,析构函数,运算符重载) 《Effective C++》,《C++ primer》2.数据结构(二叉树和链表...原创 2017-11-22 22:23:07 · 528 阅读 · 0 评论 -
Leetcode ——2sum, 3sum, 3sumcloset. 4sum
1. Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not u...原创 2018-08-23 11:28:28 · 136 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记三——树
二叉树 一棵二叉树(binary tree)由结点(node)的有限集合组成,这个集合或者为空(empty),或者由一个根结点(root)以及两棵不相交的二叉树组成,这两棵二叉树分别称为这个根的左子树(left subtree)和右子树(right subtree)。这两棵子树的根称为此二叉树根结点的子结点(children);从一个结点到其两个子结点都有边(edge)相连,这...原创 2018-08-19 13:17:58 · 348 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记二——表、栈、队列
线性表(List) 线性表的实现有两种标准方法——顺序表(array-based list或sequential list)和链表(linked list)。 顺序表由数组实现,顺序存储大小事先固定,可能浪费大量空间,优点是可以随机访问O(1),但插入和删除为O(n); 链表元素的个数就没有限制,不连续存储,链表的空间需求为O(n),访问元素...原创 2018-08-18 14:02:57 · 236 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记一——算法分析
算法 算法(algorithm)是为求解一个问题需要遵循的、被清楚地指定的简单指令的集合。 数学基础1. 大O表示法: 如果存在正常数 c 和 n0 使得当 N ≥ n0时,T(N) ≤ cf(N),则记为T(N) = O(f(N))。 (描述了T(N)的相对增长率小于等于f(N)的相对增长率。)2. 大Ω表示法: 如果存在正常数 c...原创 2018-08-18 10:42:53 · 829 阅读 · 0 评论 -
Leetcode——单调栈系列
参考:http://www.cnblogs.com/grandyang/p/8887985.html 所谓的单调栈Monotone Stack,就是栈内元素都是单调递增或者单调递减的。 单调栈的一大优势就是线性的时间复杂度,所有的元素只会进栈一次,而且一旦出栈后就不会再进来了。 单调递增栈可以找到左起第一个比当前数字小的元素。比如数组 [2 1 ...原创 2018-09-03 17:08:44 · 3342 阅读 · 0 评论