算法与数据结构
算法与数据结构
好儿郎-志在四方
这个作者很懒,什么都没留下…
展开
-
折半查找和递归折半查找详解(二分法查找,递归二分法查找)
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。(前提)折半查找和递归折半查找详解(二分法查找,递归二分法查找)原创 2016-04-14 13:31:57 · 5970 阅读 · 2 评论 -
C++实现单链表的创建和打印
链接存储方法 链接方式存储的线性表简称为链表(Linked List)。 链表的具体存储表示为: ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的) ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))原创 2016-04-16 21:23:11 · 7177 阅读 · 0 评论 -
数组与链表的异同(数据结构)
数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组元素在栈区,链表元素在堆区;数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。原创 2016-04-16 19:44:09 · 3178 阅读 · 1 评论 -
稀疏矩阵的初始化及其转置(源代码+截图)
稀疏矩阵:如果在矩阵中,多数的元素为0,通常认为非零元素比上矩阵所有元素的值小于等于0.05时,则称此矩阵为稀疏矩阵(sparse matrix)。原创 2016-04-16 09:49:52 · 5019 阅读 · 1 评论 -
冒泡排序算法详解C++程序
冒泡排序算法:(Bubble Sort)首先肯定是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。用C++实现冒泡算法原创 2015-10-19 21:19:33 · 8601 阅读 · 0 评论 -
C语言实现迷宫求解问题(详细思路+附源代码)
二、数据结构1) 建立一个二维数组表示迷宫的路径(0表示通道,1表示墙壁);2) 创建一个栈,用来存储“当前路径”,即“在搜索过程中某一时刻所在图中某个方块位置”。1) 创建一个Int类型的二维数组intmaze[n1][n2],用来存放0和1 ;2) 创建一个结构体用来储存数组信息(数组的横坐标X,数组的纵坐标Y,方向C) typedef struct node原创 2016-01-03 16:59:59 · 110207 阅读 · 17 评论 -
排序算法实例(冒泡法排序、选择法排序、直接插入排序 、希尔法排序、折半插入排序)
排序算法实例(冒泡法排序、选择法排序、直接插入排序 、希尔法排序、折半插入排序)原创 2016-01-03 18:33:59 · 3623 阅读 · 0 评论 -
用C++实现高精度数的加法
先说说高精度运算的概念:是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了。(摘自百度百科)。原创 2016-03-17 19:37:54 · 12660 阅读 · 3 评论 -
排列生成器详解+实例 (C++实现)
(1) 以a开头,后面接(b,c,d)的所有排列。(2) 以b开头,后面接(a,c,d)的所有排列。(3) 以c开头,后面接(a,b,d)的所有排列。(4) 以d开头,后面接(a,b,c)的所有排列。原创 2016-04-14 20:16:52 · 2804 阅读 · 0 评论 -
选择排序算法讲解(运行截图+源码)
简单选择排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。原创 2016-04-05 21:05:58 · 1945 阅读 · 0 评论 -
C++实现删除单链表节点的功能(源代码+截图)
删除链表中的一个节点。其主要思想就是改变链表的指针域,以此到达删除节点的目的。原创 2016-04-17 16:26:39 · 12840 阅读 · 2 评论