随笔分类 - 数据结构和算法
数据结构和算法学习笔记
摘要:基础排序算法虽然在实际开发中很少用到,但是在面试的时候却有很大概率被问到,可能不会要你现场写一个排序算法,但通常会问你某种算法的原理或者排序方法,所以在这里重新整理一下一些基础的排序算法,包括:冒泡排序,插入排序,选择排序,希尔排序,快速排序,归并排序,堆排序,基数排序。 1. 冒泡排序 原理 每次
阅读全文
摘要:递归是非常基本的算法,虽然非常好用,但是也非常耗费空间资源,所以编程中在保证代码简洁性和可读性的前提下,如果可以不使用递归则尽量不使用递归。而尾递归则是一种可以在不使用其他辅助空间的情况下被消除的递归:如果一个函数的递归调用和调用的返回值总是在函数的末尾,且返回值不包括在表达式中,则这种递归通常称之
阅读全文