小朋友学数据结构(10):基数排序 一、基本思想 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位(即个位数)开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 与其他排序不同的是,基数排序不涉及数的交换。 基数排序是一种 ...
分类:
编程语言 时间:
2018-09-08 00:49:13
阅读次数:
174
小朋友学数据结构(8):直接插入排序 (一)基本思想 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 1-1.jpg (二)C语言代码实现 #include<stdio.h> ...
分类:
编程语言 时间:
2018-09-08 00:48:55
阅读次数:
245
小朋友学数据结构(7):快速排序 一、快速排序 (一)基本思想 选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。 (二)例子 6-1.p ...
分类:
编程语言 时间:
2018-09-08 00:48:28
阅读次数:
183
本节学习python的第一个程序:输出“Hello World!”。咱们用两种方法实现 方法(一) 进入python环境,直接使用print方法 hello world.png 方法(二) 先编程hello.py文件,再用python hello.py命令执行 注意,这种方法才是写python程序的 ...
分类:
编程语言 时间:
2018-09-08 00:48:13
阅读次数:
196
小朋友学数据结构(9):希尔排序 (一)基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 (二)例子 有一个数组,其原始数组为: 2-1.png 取初始增量gap = len ...
分类:
编程语言 时间:
2018-09-08 00:48:01
阅读次数:
211
Mac下安装Python 3 Mac系统会自带Python 2.7.x。安装Python 3时,不要卸载Python 2.7.x,因为有Mac系统有一些库会依赖于Python 2.7.x。 安装步骤: 1 去Python官网www.python.org 下载最新版的Python 3.x for Ma ...
分类:
编程语言 时间:
2018-09-08 00:47:52
阅读次数:
209
小朋友学数据结构(4):归并排序 (一)基本思想 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 7-1.jpg (二)代码实现 import java.util.Arrays; p ...
分类:
编程语言 时间:
2018-09-08 00:46:49
阅读次数:
238
小朋友学数据结构(6):折半查找法 折半查找法又称为二分查找法。 (一)基本思想 假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一 ...
分类:
其他好文 时间:
2018-09-08 00:46:22
阅读次数:
202
小朋友学数据结构(3):二叉树的建立和遍历 一、基本概念 BinaryTree.png 二叉树:每个结点的子结点个数不大于2的树,叫做二叉树。 根结点:最顶部的那个结点叫做根结点,根结点是所有子结点的共同祖先。比如上图中的“7”结点就是根结点。 子结点:除了根结点外的结点,都叫子结点。 叶子结点:没 ...
分类:
其他好文 时间:
2018-09-08 00:45:47
阅读次数:
171
小朋友学数据结构(11):堆排序 (一)什么是堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]或者 Key[i]>=Key[2i+1]&&key>=key[2i+2], 即任何一非叶节点的关键字不大于或者不小于其左右孩 ...
分类:
编程语言 时间:
2018-09-08 00:44:52
阅读次数:
205