数据结构和算法
数据结构和算法
哈希马普
软件开发给我最大的启发就是——开源
展开
-
数据结构基本概念
数据对象-数据元素-数据项(属性),前者由后者组成。2、结构类型(由原子类型组成,例如数组)3、抽象数据类型(例如Java里面的类)定义:按某种关系的数据元素的集合。1、原子类型(例如整型)原创 2023-09-02 12:46:03 · 570 阅读 · 0 评论 -
分析插入排序
题目 给你一个n代表有n个数字,然后你需要使用插入排序将这些数字从小到大排好。 输入描述: 第一行输入一个n,代表有n个数字 第二行输入n个数 输出描述: 输出排序好后的n个数 示例1 输入 4 4 3 2 1 输出 1 2 3 4 思路 1、先把0~1下标的数排序,3比3小交换4和3,结果:3 4 2 1 2、然后把0~2下标的数排序,2比4小交换2和4,2比3小,交换2和3,发现3和4之前排过序了,所以只需要拿最后一个数一直与前面的数比较,如果小就交换,结果:2 3 4 1 3、然后把0~3下标的数排序原创 2022-02-27 12:30:37 · 413 阅读 · 0 评论 -
时间复杂度和空间复杂度
定义 时间复杂度是算法中,描述常数级时间操作数量的指标。 计算方法 首先列出操作表达式,然后只要高阶项(高阶项系数也去除)。 举例 N个数从小到大排序,取最坏的情况,N、N-1…4、3、2、1排序,那么先找最小的数需要N次查询和比较,还需要N次更新最小值的下标,就可以把最小值更新到最前面。以此内推,第二个数需要(N-1)次查询、比较和更新…总计aN*N+bN+c次,只留最高阶,即时间复杂度是O(N^2)。熟悉了之后,因为知道表达式是计算等差数列之和且系数会被去掉,所以一开始都是考虑最坏的情况。 应用 评价一原创 2022-02-22 17:00:50 · 262 阅读 · 0 评论