算法&数据结构
果然任何一门编程语言都躲不过算法和数据结构,只好坚持笔记,撸代码,整理它们的原理。
wamg潇潇
此人很懒,真的什么都没有写(。・ω・。)!!
展开
-
leetcode 每日刷题记录:easy 题
1. 整数反转题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。见 力扣:整数反转输入:123 -123 120输出: 321 -321 21我的解法:代码不够简洁,没有考虑数字的范围def reverse(x: int) -> int: st = [a...原创 2020-04-03 22:47:49 · 1364 阅读 · 0 评论 -
算法笔记(三):递归复杂度的计算、主定理、渐进符号
有些同学可能会很困惑:时间复杂度的表示怎么一会儿是 大O, 一会儿是(读作Omega),一会儿又是(读作Theta)?这三个符号略有区别,要用数学语言才能描述,略显枯燥,我们到后面再聊大O、、表示时间复杂度的区别,大家先记住,大O、(Omega)、(Theta)都是表示时间复杂度的3种渐进符号;总的来说 ,大O是小于等于, 是大于等于;是等于。目录大O、、表示时间复杂度的区别...原创 2019-11-21 21:53:39 · 3169 阅读 · 1 评论 -
算法笔记(一):复杂度分析:最好、最坏、平均、均摊
数据结构指的是“一组数据的存储结构”, 算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用再特定的数据结构上的。效率和资源消耗的度量衡--复杂度分析。 数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”,因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。不管...原创 2019-11-17 16:25:14 · 4522 阅读 · 0 评论 -
算法笔记(二):数组
目录为什么数组要从 0 开始编号,而不是从 1 开始呢?数组是如何实现根据下标随机访问数组元素?数组和链表的区别?插入操作删除操作数组是最基础、最简单的数据结构。 数组用一块连续的内存空间,来存储相同类型的一组数据,最大的特点就是支持随机访问,但插入、删除操作也因此变得比较低效,平均情况时间复杂度为 O(n)。 平时业务开发可以直接使用编程语言提供的容器类,但特别底层...原创 2019-11-17 21:49:59 · 407 阅读 · 0 评论