数据结构与算法
youyouwuxin1234
博主:忧忧吾心
学历:2017.09-2019.07 硕士 - 武汉大学 软件工程
2013.08-2017.06 本科 - 郑州大学 计算机科学与技术
工作:2019.07.02-2021.11.16,在美的集团IT部门国际事业部,任职软件开发工程师
2021.11.22-2021.12.31,在新华三大数据有限公司从事软件研发
2022.01.01-至今,在紫光集团旗下紫光云技术有限公司从事中间件软件研发工作
其他:代表公司参加过2019年杭州阿里巴巴云栖大会
兴趣:爱生活、爱学习、爱运动、爱旅行、爱美食。
展开
-
16.Python修炼之路【20-选择排序】2018.05.17
选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移...原创 2018-05-17 10:47:47 · 112 阅读 · 0 评论 -
23.Python修炼之路【27-树】2018.05.23
树与树算法树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外...原创 2018-05-23 10:43:04 · 138 阅读 · 0 评论 -
15.Python修炼之路【19-冒泡排序】2018.05.16
关键字:冒泡排序冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一...原创 2018-05-16 16:07:46 · 104 阅读 · 0 评论 -
14.Pyhton修炼之路【18-队列/双端队列】2018.05.16
队列的实现同栈一样,队列也可以用顺序表或者链表实现。操作Queue() 创建一个空的队列enqueue(item) 往队列中添加一个item元素dequeue() 从队列头部删除一个元素is_empty() 判断一个队列是否为空size() 返回队列的大小class Queue(object): """队列""" def __init__(self): self.i...原创 2018-05-16 12:51:40 · 183 阅读 · 0 评论 -
12.Python修炼之路【16-双向链表】2018.05.15
关键字:原创 2018-05-15 16:25:51 · 96 阅读 · 0 评论 -
11.Python修炼之路【15-单向循环链表】2018.05.14
单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。操作is_empty() 判断链表是否为空length() 返回链表的长度travel() 遍历add(item) 在头部添加一个节点append(item) 在尾部添加一个节点insert(pos, item) 在指定位置pos添加节点remove(item) 删除一个节点search...原创 2018-05-14 17:31:43 · 102 阅读 · 0 评论 -
10.Python修炼之路【14-链表】2018.05.11
关键字原创 2018-05-11 15:36:35 · 745 阅读 · 0 评论 -
09.Python修炼之路【13-顺序表】2018.05.11
关键字:原创 2018-05-11 10:23:12 · 158 阅读 · 0 评论 -
08.Python修炼之路【12-数据结构与算法】2018.05.10
关键字:顺序表、链表、栈、队列、排序与搜索、树一、算法的提出算法的概念 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。算法是独立存在的一种解决问题的方法和思想。 对于算...原创 2018-05-10 15:50:07 · 125 阅读 · 0 评论 -
13.Python修炼之路【17-堆/栈】2018.05.16
关键字:原创 2018-05-16 11:59:17 · 92 阅读 · 0 评论 -
22.Python修炼之路【26-搜索、查找算法】2018.05.22
搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排...原创 2018-05-22 15:01:29 · 122 阅读 · 0 评论 -
21.Python修炼之路【25-常用的排序算法效率比较】2018.05.22
原创 2018-05-22 14:59:33 · 100 阅读 · 0 评论 -
20.Python修炼之路【24-归并排序】2018.05.21
归并排序的分析def merge_sort(alist): if len(alist) <= 1: return alist # 二分分解 num = len(alist)/2 left = merge_sort(alist[:num]) right = merge_sort(alist[num:]) # 合并 retu...原创 2018-05-21 17:44:25 · 90 阅读 · 0 评论 -
19.Python修炼之路【23-快速排序】2018.05.21
快速排序快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有元素比基准...原创 2018-05-21 14:40:39 · 100 阅读 · 0 评论 -
18.Python修炼之路【22-希尔排序】2018.05.17
希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是:将数组列...原创 2018-05-17 17:48:41 · 83 阅读 · 0 评论 -
17.Python修炼之路【21-插入排序】2018.05.17
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序分析 def insert_sort(alist): # 从第二个位置,即下标...原创 2018-05-17 15:18:08 · 125 阅读 · 0 评论 -
24.Python修炼之路【28-二叉树】2018.05.23
关键字原创 2018-05-23 17:55:36 · 116 阅读 · 0 评论