排序:
默认
按更新时间
按访问量

数据结构:数组的操作(C语言描述)

     数据的在计算机的存储方式分为:连续存储【数组】,非连续存储【链表、树、图and so on】;今天讨论的将是数组,包括数组的创建、打印输出,在数组后面追加元素,判断数组是否为空,判断数组是否为满,在数组的指定位置添加元素,在数组的指定位置删除元素,数组元素的倒置和数组元素的排序。对应的函...

2018-03-15 09:22:21

阅读数:68

评论数:0

红黑树系列之一:红黑树的概述

转载:http://blog.csdn.net/lpp0900320123/article/details/39524947一、红黑树(RBT)的定义1.红黑树的引入目的BST查找效率较低:查找最好时间复杂度O(lgn);查找最坏时间复杂度O(n).AVL查找效率较高查找最好、最坏时间复杂度都是O...

2018-03-14 10:56:50

阅读数:53

评论数:0

平衡二叉查找树(AVL)的查找、插入、删除

一.平衡二叉查找树平衡二叉查找树是带有平衡条件的二叉查找树。平衡条件:每个节点的左子树和右子树的高度差最多为1二叉查找树(其中空树的高度为-1)。二、平衡二叉树算法思想    若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性。首先要找出插入新结点后失去平衡的最小子树根结点的指针。然后再调整...

2018-03-14 10:55:25

阅读数:187

评论数:0

二叉树的存储方式以及递归和非递归的三种遍历方式

主要过程就是递归调用,也可以用栈来实现。对于先序遍历来说,蓝色剪头第一次经过的结点,就是遍历的序列,以后再次经历就不算进去了。typedef struct BiNode{ int data;//数据域 BiNode *lchild, *rchild;//左右孩子指针 } BiNod...

2018-03-14 10:17:06

阅读数:46

评论数:0

二叉树三种遍历方式的递归和循环实现

转载自:http://blog.csdn.net/lieacui/article/details/52453292树的定义和基本术语树(Tree)是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:  (1)有且仅有一个特定的称为根(Root)的结点;...

2018-03-14 10:16:01

阅读数:83

评论数:0

看懂二叉树的三种遍历

二叉树的遍历分为以下三种:先序遍历:遍历顺序规则为【根左右】中序遍历:遍历顺序规则为【左根右】后序遍历:遍历顺序规则为【左右根】什么是【根左右】?就是先遍历根,再遍历左孩子,最后遍历右孩子;举个例子,看下图(图从网上找的):先序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBH...

2018-03-14 10:00:21

阅读数:75

评论数:0

数据结构:循环队列(C语言实现)

转载:http://blog.csdn.net/lpp0900320123/article/details/20694409生活中有很多队列的影子,比如打饭排队,买火车票排队问题等,可以说与时间相关的问题,一般都会涉及到队列问题;从生活中,可以抽象出队列的概念,队列就是一个能够实现“先进先出”的存...

2018-03-14 09:19:45

阅读数:102

评论数:0

关于循环队列的一些讲解

转载:http://www.nowamagic.net/librarys/veda/detail/2351前面讲到了队列的“假溢出”,解决假溢出的办法就是后面满了,就再从头开始,也就是头尾相接的循环。我们把队列的这种头尾相接的顺序存储结构称为循环队列。比如昨天的例子,rear可以改为指向下标为0的...

2018-03-14 09:17:06

阅读数:85

评论数:0

数据结构:栈的链式实现(C语言描述)

栈本质上是一个线性表,只不过对线性表的操作进行了限制,只可以在表的一端进行操作(插入、删除元素)。栈是一种是一种实现数据“先进后出”的存储结构,分为静态栈和动态栈,静态栈就是以数组的方式存储数据,动态栈是以链表的方式存储数据;对栈的操作算法,常用的就是压栈和出;下面将以链式的方式创建栈,并对用c语...

2018-03-13 22:04:58

阅读数:52

评论数:0

学习心得:链表的操作(C语言实现)

  今天将给大家讲述链表的学习心得。学习数据结构,毋庸置疑链表必须学好,后面的栈、队列、树、图都是以链表为基础的;链表的种类很多,有单链表、双链表、循环链表、非循环链表;在此,我们以非循环单链表为例,来讲链表的创建、求长度、排序、插入和排序。1.什么是链表     链表我的理解要包含以下特征:(1...

2018-03-13 21:42:23

阅读数:52

评论数:0

插入排序算法详解及实现

插入排序相对冒泡排序而言是一种较为快捷方便的排序算法。冒泡排序:http://blog.csdn.net/llzk_/article/details/51547923插入排序原理很简单,讲一组数据分成两组,我分别将其称为有序组与待插入组。每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到...

2018-03-12 21:37:34

阅读数:46

评论数:0

冒泡排序算法及其优化

冒泡排序算是排序算法里面的一种较为简单的算法,也是我接触的第一种排序算法,有升序与降序之分,如果面试的时候面试官问道这个题目,一定要问清楚是升序还是降序,这样会给你加分。下面,我以升序来讲一下它的运作。1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开...

2018-03-12 21:36:29

阅读数:41

评论数:0

C语言选择排序详解及其实现

选择排序(Selection sort)是一种简单直观的排序算法。这次我们依然将其分为有序组与无序组。(推荐其他两种排序算法 冒泡排序:http://blog.csdn.net/llzk_/article/details/51547923插入排序:http://blog.csdn.net/llzk...

2018-03-12 21:34:07

阅读数:82

评论数:0

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