java算法学习笔记--线性表篇
来源:互联网 发布:特朗普移民政策 知乎 编辑:程序博客网 时间:2024/06/05 13:21
1----算法和程序设计的关系
算法是一切程序设计的灵魂和基础,选择合理的算法,可以起到事半功倍的效果。
2----应用程序可以分为哪几部分?
可以分为编程语言,数据结构,算法三大部分。
3----什么是算法
算法是对某一具体的问题的一种套路。
4----算法的五种特征
A 有穷性:指的是执行步骤是有限的,执行时间也是有限的。B确切性:每一个步骤都必须有明确的说明,不能模糊。
C输入:执行操作步骤前的条件。D输出:算法的结果。E:可行性:步骤必须可以执行,假设等是不允许的。
5----什么是数据结构
数据和数据之间的关系
6什么是线性表
由n个数据元素组成的有限序列。
7线性表的基本操作
初始化(构造一个空的线性表),计算表长,获取结点(取出该表上第?个结点),查找结点,插入节点,删除结点。
8顺序表
顺序表就是按照顺序存储方式存储的线性表。
用java语言表示如下:
static final int MAXLEN=100;
classDATE
{
String key;
String name;
int age;
}
class SLType
{
data[] ListDate=new DATA[MAXLEN+1];
int ListLen;
}
初始化顺序表
Sl.ListLen=0;
计算顺序表
return SL.ListLen;
插入节点
int SLInsert(SLType SL,int n,Data data)
{
int i;
if(sl.List.len>=maxlen)
{
system.out.print(“顺序表已满”);
return 0;
}
if(n<1||n>sl.listlen-1)
{
system.out.print("插入元素序号错误");
return 0;
}
for(i=sl.listlen;i>=n;i--)
{
sl.listData[i+1]=sl.listData[i];
}
sl.listData[n]=data;
sl.listlen++;
ruturn 1;
}
追加结点
int sladd(sltype sl,Data data)
{
if(sl.listlen>=maxlen)
{
system.out.print(顺序表已满,不能再添加结点了)
return 0;
}
sl.listData[++sl.listlen]=data;
return 1;
}
删除结点
int slDelete(sltype sl,int n)
{
int i;
if(n<1||sl.listlen+1)
{
sl.listData[i]=sl.listData[i+1];
sl.list-1;
return 1;
}
查找结点
A按照序号查找结点
Data slfindbynum(sltype sl,int n)
{
if(n<1||n>sl.listlen+1)
{
system.out.print(结点序号错误,不能反悔结点);
return 0;
}
return sl.listData[n];
}
B按照关键字查找结点
int slfindbycount(sltype sl,String key)
{
int i;
for(i=1;i<sl.listlen;i++)
{
if(sl.lsitData[i].key.compareto(key)==0)
{
return i;
}
}
return 0;
}
显示所有结点
int slall(sltype sl)
{
int i;
for(i=1;i<=sl.listlen;i++)
{
system.out.print(sl.list.Data[i].key,sl.listData[i].name,sl.listData[i].age);
}
return 0;
}
end!!!
- java算法学习笔记--线性表篇
- java学习笔记之线性表
- 算法学习--线性表
- java算法--线性表
- 线性表学习笔记
- 线性表学习笔记
- 线性表学习笔记
- 数据结构与算法学习笔记02_1(线性表)
- 数据结构与算法学习笔记02_2(线性表)
- 数据结构与算法学习笔记02_3(线性表)
- 数据结构与算法学习笔记——线性表
- Java算法结构---------线性表
- 特殊线性表学习笔记
- 数据结构-线性表(学习笔记)
- 数据结构学习笔记-线性表
- 学习笔记4 线性表
- 大数据算法学习笔记(3):亚线性算法概述
- 数据结构学习笔记 --- 线性表 (一些常见的关于链表的算法和面试题)
- iOS PDF使用CATiledLayer展示
- 第08讲 mysql添加数据
- The SetStack Computer集合栈计算器(stack的运用)
- Android binder
- 501. Find Mode in Binary Search Tree
- java算法学习笔记--线性表篇
- 7-17数组下
- Struts2学习笔记(1)
- vim中自己容易忘记的命令
- ssh框架注解方式持久层无法注入sessionFactory解决方法
- 第09讲mysql修改数据
- HTML块级元素
- Mybatis中的TypeHandler介绍
- GetClientRect()和GetWindowRect()