回忆回忆数据结构
有序数组,优点:查找速度快,插入删除慢
package Structure;
public class OrderArray {
private int[] a;
private int nElems;
public OrderArray(int max){
a=new int[max];
nElems=0;
}
public int size(){
return nElems;
}
public int find(int searchkey){
int lowerBound=0;
int upperBound = 0;
int curIn;
while(true){
curIn=(lowerBound+upperBound)/2;
if(a[curIn]==searchkey){
return curIn;
}else if(lowerBound>upperBound){
return curIn;
}else{
if(a[curIn]<searchkey){
lowerBound=curIn+1;
}
if(a[curIn]>searchkey){
upperBound=curIn-1;
}
}
}
}
public void insert(int value){
int j;
for(j=0;j<nElems;j++){
if(a[j]>value){
break;
}
}
for(int i=nElems;i>j;i--){
a[i]=a[i-1];
}
a[j]=value;
nElems++;
}
public boolean delete(int value){
int j=find(value);
if(j==nElems){
return false;
}else{
for(int i=j;i<nElems;i++){
a[i]=a[i+1];
}
nElems--;
return true;
}
}
}
简单排序:
1.冒泡排序
最原始的排序~~分为有序区与无序区,2层循环,如外层循环用out表示,内层循环用in表示,则大于out的区为有序区,每完成一次内层循环,out就减一,因为之前无序的最大项已经出来了~~不需要再为其排序,内层循环从0开始,到out,in与in+1每比较一次,大的交换到后面,可以看作是一种很冲动的排序,效率自然不敢恭维
2.选择排序
选择排序是冒泡的改进,可以理解为还是比较冷静的行为,至少交换数据项的时候先经过观察
3.插入排序
局部有序,标记一个数据项,此数据项的左边已有序,数据右移,直到一个数据项比被标记的数据项小为止。
public class Sort {
private int[] a;
private int nElems;
public Sort(int max){
a=new int[max];
nElems=0;
}
public void bubbleSort(int[] a){
int out,in;
for(out=nElems-1;out>1;out--){
for(in=0;in<out;in++){
if(a[in]<a[in+1]){
swap(in,in+1);
}
}
}
}
public void selectSort(){
int min;
for (int out= 0; out<nElems-1; out++) {
min=out;
for(int in=out+1;in<nElems;in++){
if(a[min]>a[in]){
min=in;
}
}
swap(out,min);
}
}
public void insertSort(){
int in,out;
for(out=0;out<nElems;out++){
int temp=a[out];
in=out;
while(in>0 && a[in-1]>temp){
a[in]=a[in-1];
in--;
}
a[in]=temp;
}
}
private void swap(int in, int i) {
int temp;
temp=in;
in=i;
i=temp;
}
}
分享到:
相关推荐
2019年华南师范大学925数据结构真题回忆版是一份重要的参考资料,旨在帮助学生理解和掌握数据结构的基本概念、算法和应用。这份试题涵盖了数据结构的多个关键领域,下面我们将逐一探讨这些知识点。 1. **选择题**:...
数据结构是计算机科学中的核心课程,它探讨了如何有效地组织和管理数据,以便进行高效的存储和检索。2019年华南师范大学925数据结构真题覆盖了多个基础概念和算法,主要涉及数据结构的逻辑结构、存储结构、数组、...
湖南大学计算机考研数据结构866历年20年的左右真题,有部分回忆版
数据结构和计算机组成原理考试大纲精选 本资源摘要信息涵盖了大连理工大学2022年硕士研究生入学考试大纲中的数据结构和计算机组成原理科目,旨在测试考生掌握计算机科学与技术学科大学本科阶段专业基础知识、基本...
根据提供的文件信息,这里将生成关于数据结构的考研知识点,以2004年中国地质大学武汉的考研试题为背景进行详细说明。请注意,以下内容是基于数据结构的考研知识点的一般性描述,并非特定于某一年的具体考题。 数据...
【标题】中的“苏州大学计算机考研872数据结构试题真题回忆版”指的是苏州大学计算机专业硕士研究生入学考试的数据结构科目历年真题集。这个压缩包可能包含了考生们根据记忆整理的试题,用于考生复习备考之用。 ...
【数据结构】是计算机科学的重要组成部分,主要研究如何在计算机中高效地组织和存储数据,以便于进行各种操作。在2015年华中科技大学887数据结构与算法分析的真题中,涉及了多个核心知识点,下面将详细阐述。 **一...
此为南京邮电大学811数据结构考研真题+答案1999-2018(无2012),本人为2018年考研工科生,这门专业课几乎满分,其中上传的真题中2018年回忆版+答案最为珍贵(也是学得好才能全部回忆出来,哈哈!),除了3道选择题...
数据结构是计算机科学与技术专业中的核心课程之一,它研究数据如何在计算机中高效地组织和存储,以便进行有效的检索和处理。2012年山东大学909数据结构考研真题,作为一份重要的复习资料,揭示了该科目在研究生入学...
【云南大学842数据结构考研知识点回顾】 一、数据结构基本概念 1. 抽象数据类型(Abstract Data Type, ADT)包括数据对象、数据操作和逻辑特性。数据对象定义了数据的集合,数据操作描述了在这个集合上可以进行的...
第1章 课程导学对课程整体进行介绍,让您切实感受到前端工程师学习数据结构与算法的必要性。 1-1 课程导学 试看 1-2 学习姿势 1-3 说明与承诺第2章 基础算法之“字符串类”字符串作为JS最基本的数据类型,掌握好字符...
2010年武汉大学数据结构与信息系统考研试题(回忆版)!
数据结构课程设计实验二之树形结构的实现 在这篇课程设计报告中,我们将设计并实现一个树形结构的程序,主要功能包括创立二叉树、将二叉树以凹入表形式打印出来、对二叉树以中序遍历方式遍历。下面是程序的设计报告...
例如,在讲授本课程前,对C语言中的函数、递归、数组和指针等与数据结构密切相关的内容进行一次有针对性的复习,帮助学生回忆以前学过的知识,加深印象。或者边学边复习,例如在讲授图之前,可以先回顾一下离散数学...
考复旦软件专业课是961的可以选择这个学长高分笔记,亲自记录,总结...里面包含数据结构,软工,软常考uml图,计算机组成,近几年的真题(此真题是考过学长回忆的,包含答案,仅供参考)。考复旦的大家都稳稳上岸!加油
数据结构是计算机科学中的核心概念,它涉及到如何高效地存储和组织数据,以便进行各种操作。线性表、栈和队列是数据结构的基础类型,它们在编程和算法设计中扮演着重要角色。 线性表是一种最基础的数据结构,它是由...
2016年华中科技大学软件学院数据结构与算法分析考研真题(回忆版)圣才出品.pdf
数据结构在交通咨询系统的设计中扮演着至关重要的角色,它决定了如何高效地存储、管理和检索交通信息。C语言是实现这种系统的基础编程语言,它的低级特性使得对内存管理有极高的灵活性,非常适合处理大量的数据。 1...
基于此,加上我对866数据结构的理解,参考了王道,湖大本科题库,湖大期末题,给出了一份完全与866数据结构相匹配的试卷,在分值,重点,题型都与22年的考研试卷一模一样。这份试卷可以完全当成考试用,帮助你感受...