数据结构
JackAffleck
这个作者很懒,什么都没留下…
展开
-
【数据结构和算法】【笔记】python数据结构——排序(1)冒泡排序
1.排序简介 排序算法(Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 分类:内部排序、外部排序(区别在于数据量大小,是否需要借助外部辅助存储器)。 常见的排序法有:冒泡排序、选择排序、插入排序、合并排序、快速排序、堆积排序、希尔排序、基数排序。 排序算法的分析: 稳定性:相同键值的记录在排序后仍然保持原来的次序。 时间复杂度 空间复杂度:排序...原创 2019-07-31 15:47:42 · 152 阅读 · 0 评论 -
【数据结构和算法】【刷题】Day1 349. 两个数组的交集(排序,简单,python3)
1.题目: 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 来源:力扣(LeetCode) 链接:...原创 2019-08-04 17:20:58 · 114 阅读 · 0 评论 -
【数据结构和算法】【笔记】python数据结构——排序(2) 选择排序和插入排序
1.选择排序 1.1 选择排序算法介绍 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最大元素,存放到排序序列的末尾位置(与原末尾位置元素交换),然后,再从剩余未排序元素中继续寻找最大元素,与未排序序列的末尾位置交换。以此类推,直到所有元素均排序完毕。 或者 在未排序系列中找到最小元素,存放到排序序列的起始位置,再从剩余未排序元素中...原创 2019-08-04 21:40:18 · 98 阅读 · 0 评论 -
【数据结构和算法】【刷题】Day2 350+249 (排序,简单)
1.两个数组的交集II 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的...原创 2019-08-05 23:16:23 · 121 阅读 · 0 评论 -
【数据结构和算法】【刷题】哈希算法
nums1 = [1,2,2,1] nums2 = [2,2] #返回[2,2] 哈希是一种查找算法 from collections import Counter from collections import defaultdict #不存在的key时 返回默认值 from collections import OrderedDict 1.两个数组的交集(2) nums1...原创 2019-09-19 21:35:46 · 211 阅读 · 0 评论 -
【数据结构和算法】【刷题】回溯法
1.回溯法 参考1.【罗兵:python 回溯法 记录】 2.【大红豆小薏米 讲解视频】 2.leetcode 78.子集 给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3...原创 2019-09-19 21:38:40 · 171 阅读 · 0 评论