基础问题 1. 几类数据结构的定义和区别是什么? 2. 容器的数据结构底层是怎么实现的?怎么进行扩容? 3. 容器的线程安全怎么实现? 一、List容器 数据有序,允许重复数据,线程不安全。 1. linkedList 底层用双向链表实现,操作速度快,可以在头、尾、[n]操作数据。 2. Array ...
分类:
编程语言 时间:
2018-11-23 20:48:06
阅读次数:
205
用链表实现栈: 链表栈: 测试: 和数组栈比较: 测试用例: 测试结果:链表栈比数组栈快一些,但没有复杂度上的巨大差异 ...
分类:
其他好文 时间:
2018-11-20 01:21:41
阅读次数:
178
链表实现大数阶乘 题目 大数运算——计算n的阶乘 (n≥20)。 基本要求 (1)数据的表示和存储: ①累积运算的中间结果和最终的计算结果的数据类型要求是整型——这是问题本身的要求。 ②试设计合适的存储结构,要求每个元素或结点最多存储数据的3位数值。 (2)数据的操作及其实现: 基于设计的存储结构实 ...
分类:
其他好文 时间:
2018-11-15 01:40:42
阅读次数:
193
20172328 2018 2019《Java软件结构与数据结构》第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(?°?°?)??就是堆。本章将讲解堆的链表实现and数组实现,以及往堆中添加元素或从堆中删除元素的算法;还将介绍对的一些用途 ...
分类:
编程语言 时间:
2018-11-10 16:41:51
阅读次数:
233
队列即可以用链表实现也可以用顺序表实现,跟栈相反的是,栈一般用顺序表实现而队列用链表来实现,简称为链队列,我们将队头指针指向链队列的头结点,队尾指针指向终端结点(头结点不是必要的,但为了方便操作我们加上了头结点)。 1、链队列的存储结构 ...
分类:
其他好文 时间:
2018-11-10 15:22:32
阅读次数:
144
概念 列表是一个线性的集合,允许用户在任意位置插入、删除、访问和替换元素 使用列表 基于索引的操作 基本操作 数组与列表的区别 数组是一种具体的数据结构,拥有基于单个的物理内存块的一种特定的,不变的实现。 列表是一种抽象的数据类型,可以由各种方式表示,数组只是其中一种方式 基于内容的操作 基本操作 ... ...
分类:
编程语言 时间:
2018-11-10 12:55:39
阅读次数:
220
20172301 《程序设计与数据结构》第七周学习总结 教材学习内容总结 二叉查找树是一种 含有附加属性 的二叉树,其 左孩子小于父结点,父结点小于或者等于右孩子。 用链表实现二叉查找树 addElement操作:根据给定元素的值,在树中的恰当位置添加该元素。 判断元素是不是Comparable,不 ...
分类:
其他好文 时间:
2018-11-03 02:25:05
阅读次数:
155
20172305 2018 2019 1 《Java软件结构与数据结构》第七周学习总结 教材学习内容总结 本周内容主要为书第十一章内容: 二叉查找树 (附加属性的二叉树) 二叉查找树是对树中的每个结点,其左结点都要小于其父结点,而父结点又小于或等于其右结点。 二叉查找树的定义是二叉树定义的扩展。 L ...
分类:
编程语言 时间:
2018-11-03 02:00:54
阅读次数:
141
教材学习内容总结 概述 二叉查找树:是含附加属性的二叉树,即其左孩子小于父节点,而父节点又小于或等于右孩子。 二叉查找树的定义是二叉树定义的扩展。 二叉查找树的各种操作 用链表实现二叉查找树 每个BinaryTreeNode对象要维护一个指向结点所存储元素的引用,另外还要维护指向结点的每个孩子的引用 ...
分类:
其他好文 时间:
2018-11-02 21:45:36
阅读次数:
185
教材学习内容总结 第 十一 章 二叉查找树 一、概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父结点,父结点小于或等于右孩子 (二叉查找树的定义是二叉树定义的扩展) 二、 用链表实现二叉查找树 addElement操作: addElement方法根据给定元素的值,在树中的恰当位置添加该元 ...
分类:
其他好文 时间:
2018-11-02 20:19:16
阅读次数:
150