![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Mar.三月
这个作者很懒,什么都没留下…
展开
-
堆栈
问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)?在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗?它们的作用范围是什么?它们的大小由什么决定?哪个更快?转载 2017-07-01 15:54:44 · 323 阅读 · 0 评论 -
hash表与数组
hash表hash表的查找/插入/删除的时间复杂度均为o(1),(因为hash表本身是一个数组,查找o(1), 而插入/删除时,根据hash值直接插入/删除)数组的插入/删除需要移动元素,送、so,,,,,,,,其时间复杂度为O(n),查找时根据index直接查找,时间复杂度均为o(1),hash表的插入/删除本质上属于是属于赋值/替换操作,因此时间复杂度均为o(1),不需移动...原创 2018-12-12 12:29:17 · 3312 阅读 · 0 评论 -
数据结构基础--大话数据结构2
线性表1)线性表的逻辑结构------零个或多个数据元素的有限序列元素之间是有序的,元素个数有限2)线性表的抽象数据类型ADT ()DATA;OperationinitList();isEmpty();clearList();insert();dalete();select();length();getEle();}3)线性表的物理数...原创 2018-12-09 21:02:27 · 140 阅读 · 0 评论 -
数据结构基础--大话数据结构1
最近开始学数据结构了,嗯~ o(* ̄▽ ̄*)o,希望可以得到最佳的学习成果吧。。。。。。。。。。。。。。。。。。。。。【数据结构】线性表(顺序存储/链式存储(链表单链表/双链表/循环链表/)/栈/队列) 串树(二叉树)【算法】查找(有序表查找/线性索引查找/二叉排序树/平衡二叉树/多路查找树B树/哈希表)排序(冒泡排序/简单选择排序/直接插入排序/希尔排序/堆排序归并排...原创 2018-12-09 19:50:27 · 191 阅读 · 1 评论 -
高级语言与数据结构的关系
数据结构:逻辑结构+存储结构,所以说数据结构是存储数据的一种方式逻辑结构:一对一+一对多+多对多 线性结构+树形结构+图形结构存储结构:连续存储+链式存储逻辑结构和存储结构的关系: 每一种逻辑结构都可以用对应的存储结构实现存储线性结构:连续存储+链式存储树形结构+图形结构:链式存储存储结构的高级语言实现:1连续存储连续存储又分为静态连续存储和动态连续存储,静态连续存...原创 2018-10-16 20:49:23 · 1054 阅读 · 0 评论 -
什么是数据结构?
实际上,数据在底层存储的时候无非就是两种方式,要么连续存储,要么不连续存储,也就是我们说的顺序存储和链式存储,数据有数据的逻辑结构,也有数据的物理结构数据的逻辑结构就是我们肉眼看到的结构,数据和数据之间可以是1:1,1:n,n:n的(线性,树形,图)数据的物理结构是我们看不见的数据在磁盘上的存储方式,即链式存储,顺序存储每一种逻辑的数据结构在底层都能有两种存储方式存储,即链式存储,顺序存储...原创 2018-10-12 20:46:14 · 397 阅读 · 0 评论 -
实习复习---数据结构学习-数据结构1
理解代码--自己能实现代码---做相关习题============================================================================================数据结构和算法有多种重要?======================================================================...原创 2018-09-26 10:17:27 · 137 阅读 · 0 评论 -
实习复习---数据结构学习-线性结构3
线性表1)定义:零个或多个数据元素的有限序列,数据元素之间是一对一的,数据元素之间是有序的,每一个数据元素都有一个确定的位置(有没有想到数据库的表啊)2)线性表的抽象数据类型数据操作:初始化,是否为空,清空,返回线性表的第n个元素,线性表长度,删除,插入,查找-----------------------------------------线性表的顺序存储数据:一维数组,线性表的...原创 2018-09-26 10:16:55 · 110 阅读 · 0 评论 -
实习复习---数据结构学习-算法2
算法?算法很重要!它可以帮助我们去优化,,,怎么优化呢?当然是优化时间空间复杂度了啦,如果以后你写算法,写完了之后要不要想一想还有没有 更优的方法,时间复杂度能不能将一些?两层循环可不可以优化到一层循环?一层循环的话,可不可以不用循环?-------------------------------------------------------算法设计的要求1)正确性2)可读性...原创 2018-09-26 10:16:50 · 137 阅读 · 0 评论 -
二叉树实现
本文你将了解到:什么是二叉树 Binary Tree两种特殊的二叉树满二叉树完全二叉树满二叉树 和 完全二叉树 的对比图二叉树的实现用 递归节点实现法左右链表示法 表示一个二叉树节点用 数组下标表示法 表示一个节点二叉树的主要方法二叉树的创建二叉树的添加元素二叉树的删除元素二叉树的清空获得二叉树的高度获得二叉树的节点数获得某个节点的父亲节转载 2017-11-05 15:32:44 · 391 阅读 · 0 评论 -
数据结构--计算机底层--操纵数据
数据结构==============计算机存储组织数据的方式。。。你懂了他,有你命令计算机告诉他用什么样的方式来存储数据,提高它的存储组是数据的效率,,你说数据结构中不重要原创 2017-11-18 10:34:25 · 399 阅读 · 0 评论 -
java集合类框图
1.java集合类图1.11.2 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。 发现一个特点,上述所有的集合类,都实现了Itera转载 2017-11-17 16:44:24 · 645 阅读 · 0 评论 -
java集合精解
面试常见问题 ArrayList和LinkedList的联系和区别 1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2. 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。转载 2017-11-17 16:25:03 · 322 阅读 · 0 评论 -
栈的实现---java
package stack; 23 public interface IStack { 4//1.判断空栈 5public boolean isEmpty(); 67 //2.判断栈满 8public boolean isMax(); 910 //3.入栈11public boolean push(E e);1213 //4.出栈14public E pop转载 2017-10-25 22:19:19 · 147 阅读 · 0 评论 -
free()
在C语言中要动态的释放内存,就必然要用到指针,将动态分配获得的空间地址赋值给指针。C语言中动态分配内存的函数为malloc(), 在用完后,要及时调用free()函数释放。理论上,这样是安全的,但其实这样是不安全的,因为free()函数仅仅是告诉操作系统,这块空间我不用了,操作系统收回空间。而指向这块空间的指针并没有改变,它的值仍然指向这块空间。这样,我就可以继续使用该指针操作内存,这会带来非常大转载 2017-10-09 21:30:24 · 533 阅读 · 0 评论 -
c语言结构体里的函数
今天第一次知道结构体里可以有函数,,,,,,,,,,,,,不知道吧,,,之前貌似有看过。。。。没错,c++里的类=====c里的结构体那么类比下,,,鞥哼,,,结构体里的函数是不是不乖了呢。。。。。sure,,,默认的权限----public原创 2017-10-09 19:09:31 · 1243 阅读 · 0 评论 -
秋招数据结构1
复习原创 2019-09-09 20:56:20 · 192 阅读 · 0 评论