![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 74
linux_player_c
喜欢linux
展开
-
8.数据结构之广义表
数据结构之广义表广义表定义广义表从结构上来说是对链表的一种扩展,也就是说其中的某个节点可能又指向了另外一个链表(这样的节点叫做子表节点),那么对于广义表这种数据类型的设定一定会大量的涉及递归的算法,因为不管是广义表还是二叉树类型,它们从结构上都具有不断递归的过程。如下图所示是广义表的常见结构: 从应用的角度来看,广义表被广泛的应用于人工智能等领域的表处理语言LISP中,在LISP语言中,广义表化i原创 2015-12-18 12:50:59 · 1020 阅读 · 0 评论 -
7.数据结构之哈希表
数据结构之哈希表哈希表简介哈希表又称为散列表(hash table),其主要的思路就是缩小问题规模,通过进行类似分组的方式使被处理的对象排列在不同的小组中,每个小组所要处理的问题规模又相对较小,从而达到提升效率的效果。一般在查询中应用较多。采用术语就是根据关键码值(key value)映射到表中的一个位置来访问记录,以加快查找的速度。这个将关键码值转换的映射函数叫做散列函数,存放记录的数组叫做散列表原创 2015-12-01 12:29:20 · 749 阅读 · 0 评论 -
2.redis学习笔记:redis List底层数据实现(通用双端链表)
redis List底层数据实现redis列表使用两种数据结构左为底层实现: 1.双端链表 2.压缩列表今天我们来介绍redis中的双端链表,在前边的数据结构章节中已经介绍了通用双端链表的实现,在redis数据库中,双端链表还被很多内部模块所应用: 1.事务模块使用双端链表依序保存输入的命令; 2.服务器模块使用双端链表来保存多个客户端; 3.订原创 2015-11-27 16:37:20 · 3404 阅读 · 0 评论 -
6.数据结构之通用栈(链表实现)
数据结构之通用栈(链表实现)栈简介栈是一种特殊的一维线性数据结构,它满足的特点是FILO(先进后出),这样一种操作顺序在日常的生活中比比皆是。比如我们厨房里放置盘子和取盘子,最先放置的盘子一定是放在较底下的地方,要取得其中一个盘子也要先把其上边的盘子拿走先。在计算机中也是满足这样的关系,比如说我们的函数调用就满足着栈的关系。 可以看到主函数调用时,在栈区对主函数main的栈桢进行了圧栈,随后的函数原创 2015-10-22 16:49:58 · 1135 阅读 · 0 评论 -
4.数据结构之通用链表实现
数据结构之通用链表实现原创 2015-10-21 18:11:42 · 870 阅读 · 0 评论 -
5.数据结构之通用动态数组
数据结构之通用动态数组引言1.关于数组我们之前做过简单的介绍,数组是一种物理和逻辑都连续的块存储空间,关于数组的定义主要有三个方式://数组定义的三种方式: int array1[] = {12, 23, 34, 45, 56, 67, 78}; //方法1 int array2[100] = {0}; //方法2int *array3 = NULL;array3 = (int *)mall原创 2015-10-22 11:42:30 · 1216 阅读 · 1 评论 -
2.数据结构之链表面试题
**1.链表初始化** **2.链表的销毁** **3.头部插入** **4.尾部插入** **5.头部删除** **6.尾部删除** **7.显示链表信息** **8.升序排列链表** **9.降序排列链表** **10.得到链表的长度** **11.合并两个已经排序的链表** **12.合并两个已经排序的链表(递归方式)** **13.得到链表中间节点的位置** **14.得到链表的倒数第k个节点**原创 2015-10-21 11:45:04 · 880 阅读 · 0 评论 -
3.数据结构之通用编程思想的引入
数据结构之通用编程思想的引入 引言 首先我们以一个简单的例子引入今天所要讨论的问题,交换两个整形变量的方法是我们常见的问题。比如如下的代码: void swap(int *a, int *b); void swap(int *a, int *b) { //采用中间变量int temp进行交换 int temp = *a ; *a = *b ;原创 2015-10-21 12:57:20 · 615 阅读 · 0 评论 -
1.数据结构之单链表
数据结构之链表 链表的简介 数据结构是编程中对数据处理的一种常见的容器,它们的发明总是从简单到复杂的一个过程,在C语言的编程中我们首先接触了基本数据类型,包括定点数(char、short、int、long)、浮点数(float、double)、指针类型。接着了解到了数组(相同数据类型的集合),结构体(不同数据类型的集合)。再往后随着数据规模的增大以及数据之间的复杂关系,又开发出了链表、栈、队列原创 2015-10-19 17:40:09 · 714 阅读 · 1 评论 -
9.数据结构之二叉树
数据结构之二叉树树的简介之前我们接触了一维线性数据结构双端链表、动态数组以及他们的变形结构栈和队列,以及它们的组合结构hash表,解决了多种查找和存储的问题,但是线性的数据结构在使用上依然存在了不少问题,比如一维线性数据结构的查找效率只能达到O(n)的时间复杂度,所以为了解决上述的问题,我们在一维的基础上进行了扩展,引入和树形结构。树的分类树:它是由n(n>=1)个有限节点组成一个具有层次关系的集合原创 2016-02-11 23:02:04 · 1038 阅读 · 0 评论