摘要:
计数排序: 时间复杂度为O(n+k) 空间复杂度为O(n+k) 稳定性:稳定 n为数组元素个数,k为数据最大值 计数排序算法步骤: 计数排序不是比较数值排序,是记录数据出现次数的一种排序算法 找出待排数组中最大值 额外一个数组记录待排数组值出现的次数 循环打印存储数值次数的数组下标值 动画演示: p 阅读全文
摘要:
基数排序原理:
基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 阅读全文
摘要:
定义:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,直到找到已排序的元素小于或者等于新 阅读全文
摘要:
新增随笔,在随笔中上传背景图 获取上传至博客园服务器背景图的url 新建一篇随笔在那里添加一张图片然后右键审查元素获取路径 修改代码 在页面定制css代码里加以下代码 body:before { background: url(右键审查元素获取的路径) center/cover no-repeat; 阅读全文
摘要:
定义:递归,就是在运行的过程中调用自己。 构成递归需要的条件: 子问题须与原始问题为同样的事,且更为简单; 不能无限制地调用本身,须有个出口,化简为非递归状况处理。 Note: Python的最大递归层数是可以设置的,默认的在window上的最大递归层数是998, 可以通过sys.setrecurs 阅读全文
摘要:
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。 基本思想: 阅读全文
摘要:
算法:二分法查找适用于数据量较大时,但是数据需要是有序的。 主要思想是:(设查找的数组区间为array[low, high],查找值为T) (1)确定该区间的中间位置K. (2)将查找的值T与array[K]比较. 若相等,查找成功返回True;否则将array 分为[low:mid+1] 和[mi 阅读全文