摘要: 一、堆栈的概念 一种含有插入(push)和弹出(pop)操作的ADT,而且在该数据结构中,弹出符合先进后出的规则,插入则是直接将数据置于该ADT的顶层。看个简单的丑图吧 恩,具体的结构解释上图说得挺清楚的了,图是有点丑,各位凑合看下。 二、堆栈的实现方式 1、pop方法实现方式(基于链表) 一般来说 阅读全文
posted @ 2017-03-18 22:16 CoderLcp 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 好吧,这个没什么好讲的,写过java代码的人估计一直都在用ADT, ADT,其实就是abstract data type,抽象数据类型,额,其实他丫就是,java 的class...... 不过关于ADT,还是有些概念要梳理下 一、封装性 ADT封装了数据以及对应的数据操作(方法/函数),它理所当然 阅读全文
posted @ 2017-03-18 20:35 CoderLcp 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 下面整理数据结构中的链表(主要是用java写的代码) 一、什么是链表 1、首先理解链表的节点概念 个人理解:链表节点,包含一个数据和一个内存地址,内存地址指向下一个同样类型的链表节点,这样说有种绕起来了像递归的感觉(不过链表和递归还是有点类似的:自己指向自己,不断积累),具体可以看下图: ok,上图 阅读全文
posted @ 2017-03-18 20:15 CoderLcp 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 一、算法复杂度的概念 1、空间复杂度 算法运行所需要的内存空间,它和算法每次运行的数据数目或者说程序段所需要的变量个数成正比。 2、时间复杂度:算法的主要衡量指标,它主要和算法实现所需要的指令个数成正比。在分析算法时间复杂度的时候,一般用O(读作大o符号)进行表示。 大O符号表示这样一种概念:某个算 阅读全文
posted @ 2017-03-18 19:27 CoderLcp 阅读(3299) 评论(0) 推荐(0) 编辑