当前位置:码农谷 > 算法与程序 > 算法
算法

使用位运算交换两个数

算法解析A是位异或的运算符,即比较相同两位的异同,如果相同,则赋值为0,否则为1。在本程序中a、b的初始值分别为3和5,对应的二进制分别为00000011和00000101。经过下面的3个步骤..
难度: 关注度:2767 所属学科:C语言

2-路归并排序算法的程序源码

一、基本概念2-路归并排序定义:将两个位置相邻的有序子序列归并为一个有序的序列。二、排序过程描述①设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列长度为1;②两两..
难度: 关注度:193 所属学科:C语言

堆排序(顺序存储)算法的程序源代码

一、基本概念1、大根堆的定义:若将堆看成是一棵完全二叉树,则这棵完全二叉树中的每个非终端结点的值均不小于其左、右孩子结点的值。堆顶元素为最大值。2、小根堆的定义:若将堆看..
难度: 关注度:370 所属学科:C语言

直接选择排序(顺序存储)

一、排序过程描述①首先设定当前无序区域的第一个位置i ,假设这个位置的关键字最小,然后用它与无序区域中其他记录进行比较,寻找最小记录位置。②将最小记录交换到有序区域的第i..
难度: 关注度:108 所属学科:C语言

快速排序(顺序存储)

一、排序过程描述①对r[s…t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录R[0]=R[s],初始时令i=s,j=t;②首先从j所指的记录开始从后向前扫描,搜索第一个关键字小于R[0]...
难度: 关注度:124 所属学科:C语言

冒泡排序(顺序存储)

一、排序过程描述①将整个记录序列划分成有序区和无序区。初始状态有序区为空,无序区包括所有待排序的记录。②对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,..
难度: 关注度:130 所属学科:C语言

希尔排序(顺序存储)

一、排序过程描述①取定一个正整数d1作为间隔值,把全部记录从第一个记录起进行分组,所有距离为d1倍数的记录放在一组中,在各组内进行直接插入排序。②取定一个正整数d2,重复上述..
难度: 关注度:99 所属学科:C语言

直接插入排序(顺序存储)

一、排序过程描述①首先将待排序记录序列中的第一个记录作为一个有序段。②从第2个记录起到最后一个记录,依次和前面子序列中的记录比较,确定插入的位置。二、实例说明对序列{32,1..
难度: 关注度:315 所属学科:C语言

二叉排序树(链式存储)

一、二叉排序树定义1、二叉排序树定义 :满足以下三个性质的二叉树。①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;②若它的右子树非空,则右子树上所有结点的值均..
难度: 关注度:114 所属学科:C语言

二分查找 (顺序存储)

问题数据的存储是顺序结构,实现二分查找功能。算法分析1、二分查找的基本思想:每次比较有序表中的中间位置的数据,如果不相等,有序表逐渐减小一半(如果有序表减小到空,查找失..
难度: 关注度:101 所属学科:C语言

顺序查找(顺序存储)

问题数据的存储是顺序结构,实现顺序查找功能。算法分析 1、顺序查找的基本思想:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值K相比较。如果存在,查找成功,..
难度: 关注度:104 所属学科:C语言

关注微信,获得更多免费资源
关于我们   |   免责声明   |   联系我们   |   网站地图   |   HR交流群   |   学生交流群   |   教师交流群

码农谷   版权所有 © 2015-2017   湘ICP备16018319号-1