一,通用的数据存储结构:
1,数组:一种引用类型
2,有序数组:将数据进行了排序
3,链表:前一个链结点持有下一个链结点的引用
4,有序链表:对链表进行了排序
5,二叉树:既可以用链表来实现也可以用数组来实现
6,平衡树:简单来讲就是除最底层外所有节点的左右子节点个数相同
7,哈希表:也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表
二,专用数据结构:
1,栈:后进先出 LIFO(数组或链表)
2,队列:先进先出 FIFO(数组或链表)
3,优先级队列:(有序数组或堆)
三,排序算法:一句话总结
1,冒泡排序:交换位置找出最大的;
2,选择排序:找出最小的记录,并与左端的交换位置;
3,插入排序:右端访问的数据与左端局部有序的数据进行比较,插入移位;
4,希尔排序:间隔排序,移位间隔排序,减少间隔,递归;
5,快速排序:划分,两端往枢纽处遍历,遇到合适的位置进行交换,对枢纽两端再递归;
6,归并排序:二分法,分成俩个区域,递归对俩个区域排序,再合并;
7,堆排序:把无序数组插入堆,然后有序remove;
四,搜索算法:
1,广度搜索算法:是指没有目的,全部搜索;
2,深度搜索算法:不达目的誓不罢休,遇到死胡同返回继续深度算法;
3,启发式搜索算法:在每次搜索时,建立一套规则,f(x) = g(x) + h(x),找到最合适的那个继续搜索,过程中会建立俩个区域,一个是开放区域,一个关闭区域,这两个区域顾名思义,前者可以继续搜索,后者关闭不去再次搜索;
A*、B*、蚁群算法属于启发式搜索(趋势效应);
五,游戏常用算法:
1,寻路算法:A*、B*
2,追踪算法、拦截追踪算法
3,闪避算法、高级躲避算法
相关推荐
### JAVA数据结构和算法迷你电子书知识点概览 #### 一、数组与简单排序 **数组** 是一种基本的数据结构,用于存储同类型的元素。数组中的每个元素可以通过索引访问。 - **一维数组** - **声明**: `type var-name...
Java数据结构和算法是计算机科学中的核心概念,它们在编程中扮演着至关重要的角色,能够帮助我们高效地处理和组织大量数据。在这个压缩包中,包含了一系列与Java数据结构和算法相关的材料,如源代码、笔记或其他教学...
Java 数据结构和算法是编程领域中的核心概念,对于任何Java开发者来说都至关重要。本文档主要涵盖了数组、简单排序、栈与队列、链表、递归、哈希表、高级排序、二叉树、红-黑树、堆以及带权图等基本数据结构和算法。...
`Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...
《数据结构与算法经典问题解析 Java语言描述》第二版是一本深入探讨计算机科学核心领域的书籍,专注于使用Java语言来阐述和解决数据结构和算法的问题。这本书对于任何希望在IT行业中提升自身技能,尤其是软件开发...
在这个“java的数据结构排列算法”主题中,我们将深入探讨几种经典的排序算法,并简要提及一些相关的课程资源。 首先,让我们来看看描述中提到的几种排序算法: 1. 冒泡排序:这是一种简单的排序方法,通过不断...
Java 数据结构与算法是编程领域中的核心概念,对于任何Java开发者...以上只是对Java数据结构与算法的简要介绍,实际应用中涉及的概念和技术远比这复杂,理解并熟练掌握这些基础知识对于成为优秀的Java开发者至关重要。
数据结构中九大排序算法:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,堆排序,归并排序,基数排序,就时间复杂度,空间复杂度,稳定性,基本原理的简要总结与比较
在这个主题中,我们将探讨Java语言中常见的一些数据结构和算法,并分析它们的应用场景及优缺点。 首先,我们要了解数据结构的基本概念。数据结构是指在计算机中组织和存储数据的方式,包括数组、链表、栈、队列、树...
### Java版数据结构算法分析 #### 一、概述与特点 本书《Java版数据结构算法分析》由Robert Lafore编写,是一本针对编程爱好者及专业人员深入学习数据结构与算法的经典之作。书中通过丰富的Java代码示例来阐述各种...
在Java编程语言中,数据结构和算法是计算机科学的基础,它们是解决问题的关键工具。这个名为"Java_该存储库包含基本数据结构和算法的设计和实现.zip"的压缩包似乎提供了一个学习和实践这些核心概念的资源集合。让...
在本文档中,我们主要探讨...对于Java编程来说,理解和熟练运用这些基础算法是至关重要的,因为它们是构建更复杂数据结构和算法的基础。在实际开发中,开发者可以根据具体需求选择合适的遍历和排序算法,优化程序性能。