![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 67
coding1994
这个作者很懒,什么都没留下…
展开
-
时间复杂度的计算
一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2) f转载 2016-01-14 18:13:24 · 317 阅读 · 0 评论 -
回溯算法
一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索二叉树的后序遍历 【 分支限界法:广度优先搜索转载 2016-07-08 19:25:17 · 2530 阅读 · 0 评论 -
在C语言中,double、long、unsigned、int、char类型数据所占字节数
和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)<=sizeof(long int) 3 short int至少应为16位(2字节) 4 long int至少应为32位。 unsig转载 2016-08-10 12:17:54 · 381 阅读 · 0 评论 -
如何理解奇偶校验只能发现数据代码中奇数位出错的情况
首先要理解:奇数+奇数=偶数;偶数+奇数=奇数;偶数+偶数=偶数;奇数+偶数=奇数;所以可以得知:一个数加上一个奇数可以改变其原有的奇偶行,然而偶数不可以。所以,只有出现了奇数个错误,才会改变整个数据中的1的个数,才可以被发现;而发生了偶数个错误,即使发生了也不能发现,因为奇偶校验不能时通过观察1个数的变化来发现错误的,而是通过奇偶行的变化来发现错误的。所以,只能发现数据代码中奇数位出原创 2016-08-11 00:43:49 · 16337 阅读 · 1 评论 -
详解堆栈的几种实现方法——C语言版
基本的抽象数据类型(ADT)是编写C程序必要的过程,这类ADT有链表、堆栈、队列和树等,本文主要讲解下堆栈的几种实现方法以及他们的优缺点。 堆栈(stack)的显著特点是后进先出(Last-In First-Out, LIFO),其实现的方法有三种可选方案:静态数组、动态分配的数组、动态分配的链式结构。 静态数组:特点是要求结构的长度固定,而且长度在编译时候就得确定。其优点是结转载 2016-10-06 21:40:40 · 12889 阅读 · 1 评论 -
数据结构之线性表—>顺序存储结构
数学语言定义:若将线性表记为(a1,...,ai-1,ai,ai+1,...,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1时ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,3,...,n-1时,ai有且仅有一个直接后继,当i=2,3,4,...,n时,ai有且仅有一个直接前驱。所以线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。原创 2017-02-28 19:37:30 · 454 阅读 · 0 评论 -
复杂度的详细解释
因为工作的原因,重新拾起了数据结构,毕竟它的地位对于一名程序员来说举足轻重,对于即将毕业的自己,也是决定把所有模糊的定义弄明白,为以后打好基础。所以写下人生中第一篇原创博客,作为纪念。复杂度分为两种,1)时间复杂度;2)空间复杂度;一.算法时间复杂度1.定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模 n 的函数,进而分析T(n)随 n 的变化情况并确定T(n)的数量级。原创 2017-02-19 22:27:09 · 10427 阅读 · 1 评论