- 博客(6)
- 收藏
- 关注
原创 1.什么是C++
c++是一门流行的计算机编程语言 index | TIOBE - The Software Quality Company 可以看出C++的排名相对于Python、Java、C来说并不突出,很大的原因是因为C++难度过大 但是c++对性能很重视这是有利于我们进行工业部署的,其他语言相对易用性好。如果你可以用其他语言解决问题,不建议使用c++。 工具 cppreference.com:这是一个C++最具权威的百科全书; Compiler Explorer (godbolt.org) :在线代码编辑,可以直接生
2022-02-17 18:49:26
869
原创 算法修炼-Day02
链表理论以及应用 一:单链表 占用双倍空间,额外存next,下一个元素的地址。 插入: 删除: 二:双向链表 占用三倍空间,额外存pre以及next,上一个元素以及下一个元素的地址。 时间复杂度: look up o(n) insert o(1) delete o(1) append o(1) prepend o(1) leetcode: https://leetcode-cn.com/problems/reve
2021-11-23 15:55:27
329
原创 Day01-题解
保序操作数组类的题目可以考虑用过滤器,以下为解决这类题目的模板 def removeDuplicates(nums:list): n=0; for i in range(len(nums)): #这里的if条件表示要还是不要,即过滤器 if(condition) { nums[n]=nums[i] n+=1 } return n ...
2021-11-22 22:24:43
205
1
原创 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。 其实,只要讲到数据结构与算法,就一定离不开时间、空间复杂度分析。而且,我个人认为,复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。 复杂度分析实在太重要了,因此我准备用两节内容来讲。希望你学完这个内容之后,无论在任何场景下,
2021-11-22 18:51:14
115
原创 算法修炼-Day01
算法-Day01数组的原理以及实战 不同语言中: c++: int a[100]; java: int[] a=new int[100]; python:a=[]; 特点: 数组的基本特点:支持随机访问 数组的关键:索引与寻址 获取值: c++:a[I],*(a[I]) 数组中内存中是一段连续的存储空间: 插入元素: 如果你想做数组中C后面插入一个元素D step1:后移元素 step2:插入 删除元素: 有一个数组 想删去z step1:删掉z step2:元素前移 时间复杂度: looku
2021-11-22 13:03:33
379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人