数据结构
_XU_
NULL
展开
-
数据结构:链表,栈堆,队列
通过移动指针交换两个相邻的数据1.单链表2.双链表前提:List P ;Node* PTemp; PTemp=P->next;P->next=PTemp->next;PTemp->next=PTemp->next->next;P->next->next->PTemp;//不可用PTemp->next(P为待交换的第一个结点的前驱结点)原创 2015-07-03 10:20:21 · 600 阅读 · 0 评论 -
数据结构:树
树出现原因:对于大量的输入数据,链表的线性访问时间太慢 而树的大部分操作的运行时间平均为O(logN) 定义:n个结点的有限集合(n>0)递归定义:1.根节点 2.除根节点的m个不相交有限集也是树,根的子树 树的实现:链表存储 typedef struc原创 2015-07-26 11:53:56 · 384 阅读 · 0 评论 -
数据结构:算法的复杂度
当初注册CSDN账号是因为感觉这个社区的环境很好,希望记录一些自己的学习心得和收获不过最近越来越懒了,闲话不多说,贴一篇我对算法复杂度的心得首先,什么是算法?算法:求解一类问题所需遵循的被清除指定的简指令集合简单的说就是对某类相似问题的求解步骤的集合(高中的数学问题不总是归纳出一个规律,然后按照规律去步骤解题吗,就是这个)其次,对两个可以解决同一问题的算法怎么来判断这两个算法孰原创 2015-04-25 12:21:45 · 554 阅读 · 0 评论 -
数据结构:可变数组->链表
变长数组(variable-length array), 简称 VLAC语言中,直到C99标准出现之前,声明数组时在方括号内只能使用整数常量表达式。而C99做了很大改进,允许数组的[ ]中的值是整形变量或是整形表达式。这就解释了下面的情况:int n;scanf ("%d", &n);int array[n];虽然n确实是需要运行时动态确定的变量,但是在C99中,以这种原创 2015-05-03 14:12:17 · 2189 阅读 · 0 评论 -
数据结构:散列
散列基本思想: 构造散列函数--->以key为关键字,通过函数h,计算出函数值h(key),作为数据对象的存储地址 处理冲突 --->不同关键字映射到同一个散列地址,即h(key1)=h(key2),需某种冲突解决策略 1.构造散列函数:原创 2015-08-03 21:29:17 · 632 阅读 · 0 评论 -
数据结构:队列ADT
队列的数组实现(循环队列 -> 充分利用空间): http://www.cnblogs.com/kaituorensheng/archive/2013/02/28/2937865.html原创 2016-02-06 16:18:15 · 687 阅读 · 0 评论