准备leetcode的第二天
数据结构复习
冒泡排序
做个类比话,冒泡排序就是你小学时老师给你们班同学大小个。
老师会先让你们随便站一排,然后他会从前面开始看,如果发现有两个挨着的人,
高的在前面,矮的在后面了,就会让他俩换一下,一直换到排尾,这样排尾那个人就是最高的。
再来一次,最后一个和倒数第二个就是排好的了。
这样一共来n次,n是全班的人数,全班就肯定都排好了。
选择排序
假设个场景,按学术水平给大家排队上台领奖。
之前大家不知道这个要求,已经随便在下面坐好了。这种情况下,我们要求,第一个作为上的同学
先说说自己的学术水平。比如第一个同学说我能做到50nm,之后后面的同学依次报自己的水平,
之后我们需要所有同学中制成能做到最小的,他直接和第一个同学换一下位置。
好,之后一共来n次,就排完了。
插入排序
玩扑克,摸牌。摸完牌有不少人有习惯按顺序排手牌。
你摸牌之后,你看他会做什么,把牌插到手牌里,对吧。
但是我们主观有个判断能力,这🃏如果大就从后往前插入,这🃏如果小就从前往后插入。
但是计算机没这个主观判断的能力,我们都希望要大牌,我们就希望我们拿来的🃏就是大的,
所以就从后往前插。(仅供记忆用,实际的原理不是这样)
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.