
Algo
文章平均质量分 55
北境の守卫
Good
展开
-
数据的Scale
有数组 A ,元素 a 属于 [minA, maxA]有数组 B, 元素 b 属于 [minB, maxB]现在欲将 A scale 到 B 的范围,有几种方法?方法1 : 线性缩放分三步:将数组A中元素 缩放至 [0, 1]. For each a in A, a = (a-minA)/(maxA - minA)将数组A中元素缩放成 b 的range. For each a in A, a =...原创 2018-06-05 12:24:09 · 1431 阅读 · 0 评论 -
【Algo】分治思想
利用分块求解再汇总, 复杂度是 O(nlogn)O(n \log n)O(nlogn), 比如 QuickSort, MergeSort.而如果, 每次我们可以把求解数据规模缩小一半儿, 那么复杂度就会降为 O(n)O(n)O(n), 因为n+n2+n4+...+1=2n(1−(12)log2n+1)=2n−1 n + \frac n 2 + \frac n 4 + ... + 1 = ...原创 2018-10-26 22:07:27 · 155 阅读 · 0 评论 -
【Algo】二叉树(Binary Tree)
先上代码,定义typedef struct TNode { ElemType data; TNode* lchild; TNode* rchild;} TNode, *BiTree;//helpersbool IsEmptyTree(BiTree tree) { return tree == NULL;}遍历前序遍历(Pre-Order) : 中左右, parent-...原创 2018-10-26 22:00:37 · 174 阅读 · 0 评论 -
【Algo】栈 Stack
Backto Algo Index简介 Intro首先要区分数据结构的栈 和 操作系统的栈.这里的栈指的是 FILO 的数据结构.实现 Implementation基于数组的栈arraystack.h/** * 1) 顺序栈的操作:push 和 pop * 2) 采用模板的方法实现任意类型数据的存储 * 3) 支持动态扩容。初始大小为 10, 每次扩容 1.5 倍 *...原创 2018-10-26 21:57:56 · 207 阅读 · 0 评论 -
【Algo】复杂度分析 -- 最好, 最坏, 平均, 均摊 时间复杂度
Backto Algo Index上一篇说到了 Big-O 分析法, 但是那只适合分析复杂度随着 nnn 增大的趋势, 实际生产中, 我们还需要知道更细节的指标, 比如最好情况时间复杂度 best case time complexity最坏情况时间复杂度 worst case time complexity平均情况时间复杂度 average case time complexity...原创 2018-09-29 23:17:17 · 818 阅读 · 0 评论 -
【Algo】算法的时间复杂度和空间复杂度分析 -- 大O分析法
Backto Algo Index文章目录大 O 复杂度表示法常见的时间复杂度实例分析O(1) : 常量阶O(log n) : 对数阶O(n) : 线性阶O (nlog n) : 线性对数阶O($n^k$) : k 次方阶, $O(n^2)$ : 平方阶, $O(n^3)$:立方阶O($2^n$) : 指数阶O ($n!$) : 阶乘阶常用的空间复杂度分析实例Ref优秀的代码有两个硬性指标...原创 2018-09-29 21:26:33 · 570 阅读 · 0 评论 -
【Algo】约瑟夫问题(Josephus problem / Josephus permutation)
Backto Algo IndexNNN 个人围一圈, 选一个人, 从 1 开始计数, 计到第 kkk 个人出局, 剩下的人组成新环, 再次从 1 开始计数, 计到 kkk 的人出局. 如此反复, 直到剩下最后一个人, 作为胜利者. 问, 在游戏开始时, 排在第几号位置, 可以保证自己是最后的胜利者?举一个特例理解题目, 设 N=6,k=5N = 6, k = 5N=6,k=5, 则这一...原创 2018-10-04 13:39:46 · 260 阅读 · 0 评论 -
【Algo】链表 Linked List
Backto Algo ListLinked List 和 Array 是亲兄弟, 但是性格秉性完全相反, 各有大用.二者都是在内存空间上顺序排列相同的元素, 最本质的区别是 Array 需要一块儿连续的内存, 而 Linked List 则不需要内存联系, 通过指针把零散的内存空间组织起来.单链表: 最简单的链表实现Linked List 中的每个节点都由 data 数据 和 ...原创 2018-10-04 11:59:07 · 409 阅读 · 0 评论 -
【Algo】递归算法 recursion algorithm
Backto Algo Index定义 Definitions递归,就是反复调用自己。栗子讲述递归,最常用的栗子就是求解斐波那契数列long long Fibonacci(unsigned int n){ if(n <= 0) return 0; if(n == 1) return 1; return Fibonacci(n-1) + Fibonacci...原创 2018-10-01 23:38:22 · 400 阅读 · 0 评论 -
【Algo】数组 Array
Backto Algo Index定义数组Array 是一种线性表存储结构,它用一组连续的内存空间来存储一组具有相同类型的数据。线性表(Linear List) :内存是连续地址一条生产线,线性表就是上面一个坑一个坑的放数据,所有的元素最多有前和后两个方向。常见的线性表结构有 array,list,stack,queue 等。常用的非线性表,有 tree 和 graph 等连续内存空...原创 2018-10-01 22:17:07 · 250 阅读 · 0 评论 -
【Algo】进阶之路,资源汇总
Backto Algo Index书单 Books此图来自 数据结构与算法之美–By 王争公开课 Open Classes原创 2018-10-01 20:56:00 · 245 阅读 · 0 评论 -
【专栏】数据结构与算法之美--By 王争
为工程师量身打造的数据结构和算法私教课I. FeelingsII. Contents00. 开篇词 : 从今天起,跨过“数据结构与算法”这道坎作者的经历 : 本科研究生西安交大,获赠《算法导论》一书,入门深钻,毕业后 Google 工作01. 为什么要学习数据结构和算法?避免做 CRUD boy, 向高手之路迈进。高手之间的竞争就在细节,用的算法够不够优化?数据存取的效率...原创 2018-10-01 20:42:42 · 23126 阅读 · 2 评论 -
【Algo】数据结构与算法概览
Backto Data Structure & Algorithm Index .数据结构与算法, 是一个职业程序员的内功心法. 我们都希望写出 高效, 优美 的代码. 优美, 可以看各种代码规范形成自己的风格, 而高效则是建立在数据结构与算法的精妙运用之上.首先, 这个高效与否是可以衡量的, 这就是 复杂度分析. 空间复杂度和时间复杂度分析贯穿整个数据结构与算法的学习过程, 是...原创 2018-09-24 22:41:47 · 1209 阅读 · 0 评论 -
【Algo】常用排序算法的比较与总结
Backto Data structure & Algorithm IndexRefAI知识点备忘录(包括ML、DL、Python、Pandas等) : 超级棒的cheatcharts原创 2018-09-06 08:42:37 · 366 阅读 · 0 评论 -
【Data Structure】常用数据结构的比较与总结
Backto Data structure & Algorithm IndexRefAI知识点备忘录(包括ML、DL、Python、Pandas等) : 超级棒的cheatcharts原创 2018-09-06 08:39:12 · 537 阅读 · 0 评论 -
【Algo】数据结构与算法索引 Data structure & Algorithm Index
程序 = 数据结构 + 算法. 数据结构 Data structureHeapStackListArrayQueueTrees B-treeKD Tree总结 all in one排序算法 SortingQuicksortMergesortHeapsortBubble sort总结 all in one...原创 2018-09-06 08:31:44 · 533 阅读 · 0 评论 -
排序算法总结Sorting Algo
Sorting AlgoTime ComplexityBased on comparsion?DESCBubbleSort 冒泡排序O(n2)O(n^2)O(n2)Yes依次比较, 大的往后换InsertionSort 插入排序O(n2)O(n^2)O(n2)YesSelectionSort 选择排序O(n2)O(n^2)O(n2)Yes...原创 2018-10-24 23:25:36 · 508 阅读 · 0 评论