今天回顾各种排序算法,我注意到对于每种排序算法,看到名字并不能想起这个排序算法是如何完成排序的。
我过去尝试过使用文字进行描述,后来发现文字太长,看着费劲,还需要理解才能知道不同的排序算法的实现逻辑。
于是我向前走了一步,将描述的文字精简,这样看的文字会相对少一些,但还是需要理解算法的实现过程。
于是我再向前走了一步,将描述的文字,改为使用代码来描述,因为自己经常看代码,对于代码应该更加亲切,也更容易理解。
试了几个算法发现,代码还是不能直观的表现排序算法的逻辑,最多只能知道,几个关键操作是什么,但是进行了这个操作之后,会变成什么样子,需要自己心中模拟这个过程才能知道。
为了弥补这个问题,选择使用文字描述和代码共同描述的方式,去展示一个排序算法的逻辑。
直到今天,我又再次回顾各种排序算法,我开始尝试使用图示来表示每种排序算法的实现逻辑。我发现改为使用图示这种方式之后,根本不需要看着代码或是文字描述心中模拟实际是如何实现排序的,因为已经直观的画出来了。
在这一刻我突然发现,图示是会比文字或者代码的描述方式更加直接。如果后续想要表达一些事,尽可能使用图示来表达。
除此之外我还想到另外一件事,就是为什么一开始我在描述算法的实现逻辑的时候,没有选择图示,而是选择使用文字。
我认为很可能是因为我经常使用文字这个工具进行表达,然后做什么都会优先使用这个顺手的工具去表达,而排序算法的描述刚好就属于这一类事情。
后续可能需要注意这一点带来的影响。
网友评论