自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 《数据结构与算法》之队列(基于链表构造)

在队列的形成过程中,可以利用线性链表的原理,来生成一个队列。新元素(等待进入队列的元素)总是被插入到链表的尾部,而读取的时候总是从链表的头部开始读取。每次读取一个元素,释放一个元素,即所谓的动态创建,动态释放。因而不存在溢出等问题。由于链表由节点连接而成,遍历也方便。public class Queue3 { private DoubleLinkedList array; private...

2018-11-21 21:32:21 106

原创 《数据结构与算法》之队列(基于数组构造)

队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。数组实现队列,分为顺序队列和循环队列。1、顺序队列建立顺序队列结构需要分配静态内存或者动态申请连续的内存,设置队头指针front和队尾指针rear。当在队尾插入一...

2018-11-13 10:44:06 210

原创 《数据结构与算法》之栈的应用

1、字符串的翻转(逆序)根据栈“后进先出”的特点,可以利用栈对字符串进行反转,即实现字符串的逆序。借助于《数据结构与算法》之栈(2)中的栈结构,相应实现的代码如下: public static void ReverString() { BigStack stack = new BigStack(); String str="123456789"; System.out.p...

2018-11-10 19:30:44 168

原创 《数据结构与算法》之栈(2)

如《数据结构与算法》之栈(1)所述,所构建的栈存在着如下问题:(1)容量固定问题,即栈创建之后,容量固定,不能够进行扩容,对于小型的可预知的应用来说,简单的栈就可以了。但是对于不可预知的应用,此栈结构将不再适合,需要构建容量可扩展的栈结构;(2)此栈只能存储int类型数据,对于其它类型数据将不再适用,可以用object类型代替int类型做数据定义。针对以上问题,下面提供一种新的栈结构:...

2018-11-10 18:57:27 137

原创 《数据结构与算法》之栈(1)

栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top),相对地,把另一端称为栈底。对栈的基本操作有push(进栈)和pop(出栈),前者相当于插入,后者则是删除最后插入的元素。由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。栈也称为后进先出表。其实现代码如下:public cla...

2018-11-10 16:41:53 140

原创 《数据结构与算法》之链表—双向链表

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。双向链表构造代码如下:public class DoubleLinkedList { private Node head; // 链表头 private Node tail; // 链表尾 private in...

2018-11-10 11:21:30 657

原创 《数据结构与算法》之排序算法(归并排序)

 5、归并排序归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。其时间复杂度为O(nlogn),空间复杂度为O(n),是稳定的排序算法。归并排序算法的工作原理如...

2018-11-10 08:39:04 258

原创 《数据结构与算法》之排序算法(插入排序、希尔排序)

3、插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到...

2018-11-09 21:19:08 524

原创 《数据结构与算法》之排序算法(冒泡排序、选择排序)

排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。排序算法分类:一、非线性时间比较类排序1、交换排序(冒泡排序、快速排序)2、插入排序(简单插入排序、布尔排序)3、选择排序(简单选择排序、堆排序)4、归并排序(二路归并排序、多路归并排序)二、线性时间非比较类排序1、计数排序2、...

2018-11-08 20:30:17 276

原创 《数据结构与算法》之算法简介

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。一个算法应该具有以下五个...

2018-11-07 21:34:34 423

原创 《数据结构与算法》之数据结构简介

数据结构=数据+结构,数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:集合 ...

2018-11-07 20:36:15 370

原创 《数据结构与算法》之链表—有序链表

2、有序链表有序链表是在单链表的基础上对单链表的表头节点插入进行修改,从表头开始根据插入值与链表中原先存在的数据节点进行比较判断,若大于(或小于)该节点就向后移一个节点进行比较,直至不大于(或小于)该节点,最终实现按照从小到大(或从大到小)的顺序排列链表。// 插入节点,并按照从小到大的顺序排列 public void insert(int value) { Node node =...

2018-11-06 21:35:05 1261 1

原创 《数据结构与算法》之抽象数据类型(ADT)

抽象数据类型(abstract data type,ADT)是带有一组操作的一些对象的集合。抽象数据类型是数学的抽象,只不过这种数据类型带有自己的操作。比如表、集合、图以及与它们各自的操作一起形成的这些对象都可以看做抽象数据类型,就像整数、实数、布尔数等都是数据类型一样。整数、实数、布尔数都有各自相关的操作,而抽象数据类型也是如此。对于集合ADT,可以有添加、删除、以及其它一些操作。也可以只要两种...

2018-11-06 20:53:04 1878

原创 《数据结构与算法》之链表—双端链表

2、双端链表双端链表就是在单链表的基础上增加一个尾节点,使链表既有头节点又有尾节点,这样方便进行链表尾的访问和删除。其计算复杂度如下:1、在表头插入一个新的节点,时间复杂度O(1) ;2、在表尾插入一个新的节点,时间复杂度O(1) ;3、删除表头的节点,时间复杂度O(1) ;4、删除表尾的节点,由于只保存了表尾的节点,而没有保存表尾的前一个节点(单向,只能从前往后推),所以在删除表尾节点时需要...

2018-11-06 20:04:08 186

原创 《数据结构与算法》之链表—单向链表

链表(LinkedList)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点(链表中每一个元素称为节点)组成,节点可以在运行时动态生成。每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。相比于线性表顺序结构,链表操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,...

2018-11-05 19:56:26 158

原创 《数据结构与算法》之线性表

数据结构=数据+结构,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection接口又有3种子类型,List、Set和Queue,再下面是一些...

2018-11-03 19:57:48 213

单片机PWM控制程序

单片机PWM控制程序,用于单片机PWM波产生,控制电机或者LED的亮灭

2018-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除