- 博客(8)
- 收藏
- 关注
原创 数据结构与算法——树结构的基础部分(学习笔记)
目录一. 二叉树二. 顺序存储二叉树三. 线索化二叉树一. 二叉树1. 为什么需要树这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快,对于有序数组,还可以使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值会整体移动,效率较低(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只要将插入节点,链接到链表中即可,删除效率也很好)缺点:在进行检索时,效率仍然较低比如检索某个值,需要从头节..
2022-04-07 10:30:17 715
原创 数据结构与算法——哈希表(学习笔记)
一. 哈希表的基本介绍散列表(Hash table, 也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。二. Google公司的一个上机题有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,名字,住址)当输入该员工id时,要求查找到该员工的所有信息。要求:1.不使用数据库,速度越快越好=>哈希表2.添
2022-04-01 09:18:35 231
原创 数据结构与算法——查找算法(学习笔记)
目录一. 查找算法介绍二. 线性查找算法三. 二分查找算法四. 插值查找算法五.斐波那契(黄金分割法)查找算法一. 查找算法介绍在Java中,我们常用的查找有四种:(1)顺序(线性)查找(2)二分查找(折半)查找(3)插值查找(4)斐波那契查找二. 线性查找算法有一个数列:{1,8,10,89,1000,1234},判断数列中是否包含此数值,如果找到了就提示找到,并给出下表值。代码实现:public class SeqSearch {
2022-03-31 11:00:09 1433
原创 数据结构与算法——排序算法(学习笔记)
目录一. 排序1.1 排序算法的介绍:1.2 排序的分类:二. 算法的时间复杂度三. 算法的空间复杂度一. 排序1.1 排序算法的介绍:排序也称排序算法,排序是将一组数据,依指定的顺序进行排列的过程。1.2 排序的分类:(1)内部排序:指将需要处理的所有数据都加载到内部存储(内存)中进行排序。(2)外部排序:无法加载到内存中,需要借助外部存储进行排序。二. 算法的时间复杂度度量一个程序(算法)执行时间的两种方法:(1)事后统计的方法:
2022-03-28 09:11:56 377
原创 数据结构与算法——递归(学习笔记)
一.递归1.概念:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。2.调用机制:(1)打印问题(2)阶乘问题(3)图解方式说明递归的调用机制代码演示递归:public class RecursionTest { public static void main(String[] args) {// test(4); int res = factorial(3);
2022-03-26 08:57:08 285
原创 数据结构与算法——栈基本概念(学习笔记)
目录一.栈的介绍二.栈的应用场景三.数组模拟栈一.栈的介绍1.栈(Stack)是一个先入后出的有序列表。2.栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶,另一端为固定的一端,称为栈底。3.根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。4.图解方式说明出栈(pop)和入栈(push)的概念二.栈的应用场景1.
2022-03-19 09:22:55 163
原创 数据结构与算法——链表基本概念(学习笔记)
链表单链表1.链表是有序的列表,但是它在内存中存储如下2.链表是以节点,是链式存储3.每个节点包含data域,next域:指向下一个节点4.链表的节点不一定是连续存储5.链表分带头节点的链表和没有头节点的链表双向链表1.单向链表,查找的只能是一个方向,而双向链表可以向前或者向后查找。2.单向链表不能自我删除,需要靠辅助结点,而双向链表,可以自我删除。双向链表和单链表遍历是一样的,只是可以向前也可以向后查找添加的时候(默认添加到双向链表的最后):temp
2022-03-11 08:52:41 305
原创 数据结构和算法概述(学习笔记)
目录一.前言二.线性结构和非线性结构2.1线性结构2.2非线性结构三.稀疏数组和队列3.1稀疏数组3.2 队列一.前言1.数据结构(DataStructure)是一门研究组织数据方式的学科,有了编译语言就有了数据结构2.学好数据结构可以编写出更有效率的代码3.程序=数据结构+算法4.数据结构是算法的基础二.线性结构和非线性结构数据结构包括线性结构和非线性结构2.1线性结构1.线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性
2022-03-08 10:46:39 306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人