
数据结构与算法
夜微凉4
这个作者很懒,什么都没留下…
展开
-
基础冒泡、选择、插入排序
冒泡排序: 思想:每次都从最左边开始依次比较左右的两个数,如果前面的数大于后面的数,就交换,这样一轮下来最大的数就被放到最后一个,然后重新从最左边的数开始比较,然后把第二大的数放到倒数第二个位置,如此反复。最后总体时间复杂度是O(n) 选择排序: 思想:0–n-1选出最小的数放在0位置,1–n-1最小的数放在1位置,如此反复。 插入排序: 思路:默认认为第一个元素的有序的,然后将第二个元素插入前面的“有序”数组中,最后前两个元素就是有序的了,然后将第三个元素插入前面的“有序”数组中,如此反复 ...原创 2020-10-19 11:29:01 · 104 阅读 · 0 评论 -
给定一个数组,给定sizeleft和sizeright,交换左右的内容
思路:1.首先将左右两边部分的数组元素左右互换(逆序) 2.然后将数组的整体左右互换(逆序)原创 2020-10-19 11:31:23 · 175 阅读 · 0 评论 -
两个栈实现队列的操作
用栈实现队列 思路: 使用两个栈实现队列的操作,一个栈作为pop栈,一个栈作为push栈,其中pop栈中只做pop操作,push栈中只做push操作,然后在定义一个dao的函数(作用是将push栈中的数据转移到pop栈中), dao函数中一个要满足以下两个条件: pop栈中不为空,一定不能导(pop栈为空才能导) 导的话要一次性导完push栈中的所有数据 然后在每次pop和push操作后调用dao函数即可 导之前: 导之后: 不能进行导操作的情况: ...原创 2020-10-18 20:48:36 · 144 阅读 · 0 评论