![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Structures and Algorithm
文章平均质量分 78
成长Bar
人生為棋,我願為卒,行動雖慢,可誰見我後退過一步!
展开
-
数据结构与算法导论之入门简介
什么是数据结构?答:大量数据的组织方法。什么是算法分析?答:算法运行时间的估计。原创 2014-11-29 11:15:51 · 933 阅读 · 0 评论 -
两种方法用宏定义写出swap(x,y)
问题引出:如何将a,b交换,且不使用任何中间变量?方法一:算术运算法a=a+b;b=a-b;a=a-b;方法二:逻辑运算法a=a^b;b=a^b;a=a^b;若采用宏定义完成此功能,对应有2种方法,如下示例代码:#includeusing namespace std;//宏定义swap(x, y),使之完成交换x,y的值#原创 2015-10-30 11:25:30 · 7381 阅读 · 0 评论 -
单链表(二):如何实现单链表的排序、逆置(逆序)
1、单链表的排序示例代码如下:#includeusing namespace std; ///单链表结构体:结点typedef struct student{ int data; //结点中的数据 struct student *next; //指向链表下一个结点的指针}node;node *head; //头结点指针int index; //链表长原创 2015-10-21 10:46:54 · 1517 阅读 · 0 评论 -
单链表(一):如何实现单链表的创建、测长、遍历
示例代码如下:#includeusing namespace std; ///单链表结构体:结点typedef struct student{ int data; //结点中的数据 struct student *next; //指向链表下一个结点的指针}node;node *head; //头结点指针///建立单链表void *create(){原创 2015-10-20 10:20:04 · 2227 阅读 · 0 评论 -
C++中的树、二叉树、二叉树遍历、二叉树前序、中序、后序遍历相互求法
C++中的树、二叉树、二叉树遍历、二叉树前序、中序、后序遍历相互求法本博文来总结下树、二叉树以及二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。1、什么是树?什么是二叉树?树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层原创 2015-08-04 11:32:36 · 2167 阅读 · 1 评论 -
C/C++中的经典排序算法总结
C/C++中的经典排序算法总结在C/C++中,有一些经典的排序算法,例如:冒泡排序、鸡尾酒排序或双向冒泡排序(改进的冒泡排序)、选择排序、直接插入排序、归并排序、快速排序、希尔排序和堆排序等等。下面对这些排序算法进行一一解析并给出示例代码以共享之。1、冒泡排序冒泡排序是最基本的排序算法,之所以称之为冒泡排序是因为在冒泡排序的过程中总是大数往前放,小数往后放,相当原创 2015-07-23 10:56:11 · 2512 阅读 · 0 评论 -
软件开发与算法在计算机中的应用
软件开发基础知识1、软件开发策略:瀑布模型:通过顺序执行前面的每个阶段来构成的,当每完成一步后,开发过程就转移到下一步骤。原型模型:根据需要不断重复地评估并修改这个模型,直到得到一个可以接受的版本,从这个版本可以开发出完整的系统或产品。螺旋模型:综合了瀑布模型和原型模型的特点,主要用于大型的复杂系统。敏捷模型:根据需要进行适应和修改。一种得到极大关注的敏捷方法是极限模型(ext原创 2015-03-18 10:20:06 · 2485 阅读 · 0 评论 -
抽象数据类型(ADT)入门(一)
抽象数据类型(ADT)入门(一)1、抽象数据类型(Abstract Data Types,ADT)和ADT的实现抽象数据类型:一个数据元素集合以及在这些数据上的操作。ADT的一个实现包括存储数据元素的存储结构以及实现基本操作的算法。在这个数据抽象的思想中,数据类型的定义和它的实现是分开的,这在软件设计中是一个重要的概念。这使得只研究和使用它的结构而不用考虑它的实现细节成为可原创 2015-03-20 16:40:02 · 9242 阅读 · 0 评论 -
数据结构与算法导论之基本概念和术语介绍
为了与大家取得“共同的语言”,下面对一些概念和术语赋予确定的含义。1、数据(data):对客观事物的符号表示,在计算科学中指所有能输入到计算机中并被计算机程序处理的符号总称。2、数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(data item)组成,数据项是数据不可分割的最小单位。3、数据对原创 2015-03-15 10:20:15 · 1524 阅读 · 0 评论 -
递归与迭代
1、递归当函数用自身来定义时就称为是递归(recursive)的。递归必须满足四个基本法则:(1)、基本情形:必须给出基准情况,不用递归就能求出,用于终止递归运算;(2)、不断推进:对于那些要被递归求解的情形,递归调用必须能够朝着一个基准情形推进;(3)、设计法则:假设所有的递归调用都能运行;(4)、合成效益法则:在求解一个问题的同一个实例时,切勿在不同的递归调用中做重复性原创 2015-10-10 09:36:31 · 1085 阅读 · 0 评论