随笔分类 -  【数据结构】

常见的数据结构以及使用C/C++描述的代码
【数据结构】之二叉树(Java语言描述)
摘要:有关树的一些基础知识点请参考【这篇文章】。 本文主要记录Java语言描述的二叉树相关的一些操作,如创建、遍历等。 首先,我们需要一个表示树中节点的数据结构TreeNode,代码如下: 在二叉树的工具类BinaryTree中,提供了很多的方法,详细介绍如下: (1)创建二叉树的时候,通过传入的字符串来 阅读全文

posted @ 2017-08-16 21:29 ITGungnir 阅读(493) 评论(0) 推荐(0) 编辑

【数据结构】之散列链表(Java语言描述)
摘要:散列链表,在JDK中的API实现是 HashMap 类。 为什么HashMap被称为“散列链表”?这与HashMap的内部存储结构有关。下面将根据源码进行分析。 首先要说的是,HashMap中维护着的是一个数组: transient Node<K,V>[] table; ,数组中的每个元素都是一个  阅读全文

posted @ 2017-08-08 21:39 ITGungnir 阅读(534) 评论(0) 推荐(0) 编辑

【数据结构】之队列(Java语言描述)
摘要:在【这篇文章】中,我简单介绍了队列的基本数据结构及操作方式,并用C语言代码描述了队列的基本功能实现。 JDK中默认为我们提供了队列的API—— Queue 。 Queue是一个接口,其中提供了处理队列及其操作的一些基本方法,如果我们想要创建自己的队列,就需要先创建一个类实现Queue接口。 在Jav 阅读全文

posted @ 2017-08-07 18:27 ITGungnir 阅读(176) 评论(0) 推荐(0) 编辑

【数据结构】之栈(Java语言描述)
摘要:在前面的【这篇文章】中,我简单介绍了栈这种数据结构的操作功能,并使用C语言对其进行了代码的编写。 Java的JDK中默认为我们提供了栈这种数据结构的API—— Stack 。 Java中的Stack类继承自 Vector 类。Vector也是Java中的一种数据结构,和ArrayList非常相似,不 阅读全文

posted @ 2017-08-07 18:15 ITGungnir 阅读(281) 评论(0) 推荐(0) 编辑

【数据结构】之链表(Java语言描述)
摘要:以前写过一篇帖子,记录了链表在C语言中的描述代码。C语言中没有链表的直接实现,因此,我们需要自己编写代码实现。请参考【我的这篇文章】。 Java中默认为我们提供了链表的API—— LinkedList 。 Java中LinkedList的操作过程和C语言中的操作过程相同:都是以“节点”为单位,为当前 阅读全文

posted @ 2017-08-07 16:55 ITGungnir 阅读(293) 评论(0) 推荐(0) 编辑

【数据结构】之顺序表(Java语言描述)
摘要:之前总结过使用C语言描述的顺序表数据结构。在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见【我的这篇文章】。 在Java语言的JDK中,为我们提供了专门的顺序表的数据结构API—— ArrayList 。 Java中的ArrayLis 阅读全文

posted @ 2017-08-07 14:18 ITGungnir 阅读(734) 评论(0) 推荐(0) 编辑

【数据结构】之串(C语言描述)
摘要:串(字符串)是编程中最常用的结构,但 C语言 中没有“字符串”这种变量,只能通过字符数组的形式表示字符串。 C语言 为我们提供了一个 string.h 的头文件,通过这个头文件,我们可以实现对字符串的各种操作,如拷贝、比较等,具体用法请参考【C语言库函数】。 当然,我们对字符串的操作可能不仅仅局限于 阅读全文

posted @ 2017-04-10 17:47 ITGungnir 阅读(6443) 评论(0) 推荐(0) 编辑

【数据结构】之队列(C语言描述)
摘要:队列(Queue)是编程中最常用的数据结构之一。 队列的特点是“先进先出”,就像食堂排队买饭一样,先来的人排在前面,后来的人排在后面;前面的人先买饭,买完饭后离开这个队列。这就是队列的原理,它可以进行入队列和出队列的操作,也就是说,队列限制用户只能在队列的前后两端进行操作,不能在中间进行操作。 和线 阅读全文

posted @ 2017-04-06 10:24 ITGungnir 阅读(938) 评论(0) 推荐(0) 编辑

【数据结构】之顺序表和链表的比较
摘要:1、顺序表 顺序表的优点: (1) 方法简单,各种高级语言中都有数组,容易实现。(2) 不用为表示结点间的逻辑关系而增加额外的存储开销。(3) 顺序表具有按元素序号随机访问的特点。 顺序表的缺点: (1) 在顺序表中做插入删除操作时,平均移动大约表中一半的元素,因此对n较大的顺序表效率低。(2) 需 阅读全文

posted @ 2017-04-06 09:01 ITGungnir 阅读(2425) 评论(0) 推荐(1) 编辑

【数据结构】之栈(C语言描述)
摘要:栈(Stack)是编程中最常用的数据结构之一。 栈的特点是“后进先出”,就像堆积木一样,堆的时候要一块一块堆到最上面,拆的时候需要从最上面一块一块往下拆。栈的原理也一样,只不过它的操作不叫堆和拆,而是叫入栈(或压栈)和出栈(或弹栈)。栈要求我们只能在栈顶(最上面的元素)处进行增加和删除。 栈可以用顺 阅读全文

posted @ 2017-04-05 10:50 ITGungnir 阅读(824) 评论(0) 推荐(0) 编辑

【数据结构】之链表(C语言描述)
摘要:链表是线性表的一种,是一种物理存储单元上非连续的存储结构,链表中的数据元素之间是通过指针链接实现的。 链表由一系列节点组成,节点可以在运行时动态的生成。 链表中国的每个节点分为两部分:一部分是存储数据的数据域,另一部分是存储下一个节点的地址的指针域。 如果要在链表中查找某个位置的元素,需要从第一个元 阅读全文

posted @ 2017-03-30 08:51 ITGungnir 阅读(993) 评论(0) 推荐(0) 编辑

【数据结构】之顺序表(C语言描述)
摘要:顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景。 下面是使用 C语言 编写的顺序表的代码: 顺序表的头文件SeqList.h中的代码如下: 主文件main.c中的代码: 运行结果如下: 阅读全文

posted @ 2017-03-29 16:45 ITGungnir 阅读(1781) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示