![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
arithmetic
cugbtang
格局的大小,在很大程度上就决定了我们人生会有怎样的走向。以少胜多,才是大本事。赚钱比省钱重要得多!
展开
-
algorithm-位向量
【实现位向量】 //问题描述: //有一组非负整数,实现一个位向量类型,能在O(1)时间内完成插入、删除和查找等操作。 //要点: //实现Has(uint)、Add(uint)、Remove(uint)、Clear()、Copy()、String()、AddAll(…uint)、UnionWith()、IntersectWith()、DifferenceWith()、SymmetricDiff...原创 2020-03-13 20:17:58 · 227 阅读 · 0 评论 -
刷题-字符串的6大问题
字符串的6大问题:字符串旋转、包含、全排列、转换成整数、回文判断、最长回文子串 实现字符串反转的几种方法: python: 第一种:使用字符串切片 第二种:使用列表的reverse方法 第三种:使用reduce 第四种:使用递归函数 第五种:使用栈 第六种:for循环 go: https://blog.csdn.net/Charliewolf/article/details/82708...原创 2019-09-02 11:17:38 · 141 阅读 · 0 评论 -
刷题---链表看这一篇就够了
1、单链表逆序 循环 https://blog.csdn.net/weixin_39561100/article/details/79818949 递归 https://blog.csdn.net/qq_42707449/article/details/81106244 2、将单链表的每K个节点之间逆序 https://blog.csdn.net/qq_34342154/article/detai...原创 2019-09-02 11:04:18 · 152 阅读 · 0 评论 -
回溯算法框架
文章目录回溯算法模板/框架 [来源于<五分钟算法>](https://www.cxyxiaowu.com/7103.html)决策树总结全排列问题N皇后问题题目分析代码实现数独问题 回溯算法模板/框架 来源于<五分钟算法> 回溯算法就是个多叉树的遍历问题,关键就是在前序遍历和后续遍历的位置做一些操作 result = [] func BackTrack(路径...原创 2019-12-04 15:24:39 · 274 阅读 · 0 评论 -
Algorithm3---search(散列)
散列 理想散列表是一个包含关键字的具有固定大小的数组,它能够以常熟时间执行插入,删除和查找操作。 映射规则叫散列函数 散列冲突 冲突解决 拉链发 将同一个值的关键字保存在同一个表中,查找的时候,除了根据计算出来的散列值找到对应位置外,还需要在链表上进行搜索。而在单链表上的查找速度是很慢的 开放定址法 如果冲突发生,就选择另外一个可用的位置,无论是哪种开放定址法,它都要求表足够大: 1、线性探...原创 2019-12-01 19:16:16 · 172 阅读 · 0 评论 -
Algorithm2---字符串匹配算法
BF 暴力匹配 代码实现 func Search(p string,t string)int{ m := len(p) n := len(t) for i:=0;i<n-m;i++{ j := 0 for j=0;j<m;j++{ if p[j] != t[i+j]{break} } //全都匹配 if j == m{ return i } ...原创 2019-12-01 14:21:19 · 163 阅读 · 1 评论 -
Algorithm4---BinaryTree
链表:链表在内存中的存储可以不是一段连续的区域 type ListNode struct { val int next ListNode } 树:二叉树,它其实是链表的一个延伸,树的遍历其实是有方向性的 type TreeNode struct { val int left TreeNode right TreeNode } 图:图中的关系不再是 parent 和 child...原创 2019-11-30 16:40:34 · 1546 阅读 · 0 评论 -
Algorithm3---search(binary)
定义 二分查找(binary search) = 折半搜索(half-interval search) = 对数搜索(logarithmic search): 是一种在有序数组中查找某一特定元素的搜索算法 时间复杂度 O(n) 和 O(logn) 可能直接看表达式不够形象。假设数组长度是 4294967296,如果是 O(n) 时间的话,最差情况下你需要去找 4294967296 次,如果是 O(...原创 2019-11-28 22:00:55 · 215 阅读 · 0 评论 -
Algorithm0---数据结构与算法看着一篇就够了
文章目录四个基础数据结构:1、数组、链表、栈、队列2、散列表3、树4、图四个基础算法:1、线性表操作2、树操作3、排序4、搜索5、查找6、字符串 算法复杂度速查表 四个基础数据结构: (数组、链表、栈、队列)、散列表、(二叉树、堆、跳表、Trie 树)、图 1、数组、链表、栈、队列 数组、链表===>栈、队列 2、散列表 哈希 3、树 各种树 4、图 图 四个基础算法: 排序、(二分查找、搜...原创 2019-11-28 21:34:56 · 304 阅读 · 1 评论 -
Algorithm5---十大经典排序
十大经典排序 极力推荐 跟小吴师兄学算法 冒泡 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 func BubbleSort(l []int)[]int...原创 2019-11-20 17:49:55 · 369 阅读 · 0 评论 -
Algorithm1---数组、链表===>栈、队列
数组、链表 实现 栈、队列 导论 队列可以使用链表或者数组实现,使用链表的优点是扩容简单,缺点是无法通过索引定位元素,使用数组则相反,扩容不容易但是可以通过索引定位元素。 链表(Link) 链表一般有下面这几个基本操作,先定义一个接口,方便开发和测试: 创建空链表 获取链表的长度 判断链表是否为空 在链表后追加元...原创 2019-11-19 18:26:32 · 166 阅读 · 0 评论 -
Algorithm6---RECURSION
文章目录RECURSION导论定义为什么要写递归写递归的技巧LeetCode PathSum III RECURSION 导论 首先说明一个问题,简单阐述一下递归,分治算法,动态规划,贪心算法这几个东西的区别和联系,心里有个印象就好。 递归是一种编程技巧,一种解决问题的思维方式;分治算法和动态规划很大程度上是递归思想基础上的(虽然动态规划的最终版本大都不是递归了,但解题思想离不开递归),解决更具体...原创 2019-11-18 18:22:09 · 121 阅读 · 0 评论 -
Algorithm7---Dynamic
文章目录导言什么是动态规划思考动态规划问题的四个步骤题目实战爬楼梯(LeetCode 第 70 号问题)1.题目描述2.题目解析3.参考代码三角形最小路径和(LeetCode 第120 号问题)1.题目描述2.题目解析3.参考代码最大子序和(LeetCode 第 53号问题)1.题目描述2.题目解析3.参考代码矩阵类动态规划问题不同路径(LeetCode 第 62 号问题)1.题目描述2.题目解析...原创 2019-11-17 19:25:39 · 242 阅读 · 0 评论 -
数据结构-二叉树
二叉树(前序,中序,后序,层序)遍历递归与循环的python实现 https://www.cnblogs.com/bjwu/p/9284534.html go实现“二叉树遍历” https://blog.csdn.net/weixin_42178081/article/details/82155914 https://blog.csdn.net/tuobicui6522/article/detai...原创 2019-06-26 17:22:21 · 89 阅读 · 0 评论 -
数据结构与算法看这一篇就够了
10个最常用的、最基础数据结构: 数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 10个最常用的、最基础算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 ...原创 2019-08-27 09:38:47 · 217 阅读 · 0 评论 -
算法-topN问题
python 1、 import numpy as np a = np.array([1,4,3,5,2]) b = np.argsort(a) print(b) 2、python的内置模块heapq,其原理是基于堆的,也就是二叉树原创 2019-07-01 13:05:49 · 389 阅读 · 0 评论