我的Java学习-为什么要学习数据结构

数据结构的学习也有段时间了,一直对于这方面的知识不是很感冒。学习起来比较枯燥,关键还是不太明白数据结构在编程里面的作用,为什么需要学习数据结构。
今天碰到一个问题,对于自己学习数据结构方面有点提示和警醒作用,数据结构还是很重要的,尤其是想要更好的学习计算机编程,必须学习。
问题是:周末舞会,男生和女生进入舞厅,跳舞开始时,依次从男队和女队各出一人搭配舞伴,如果两队人数不等,较长一队里没有匹配上的等待下一轮先进入匹配队列。要求写算法模拟配对过程,显示搭配的男女舞伴记录。提示是,先入队的先出队,可以考虑用队列作为数据结构,由性别来区分开始的分队。
既然是舞会,区分性别,可以考虑用下面的类作为基础数据类。在Dancer类里面,设计了一个danceMatch类方法,用来判断当前的类对象性别是否符合要求。进行到这一步都还是顺利的。
所有的男生和女生应该都是Dancer类对象,于是我想当然认为,用数组来表示所有的Dancer应该是比较合适的选择,Dancer[] dancer ,问题就出现了,怎么也不能用数组的方式来初始化,我的天,想破脑袋也想不明白到底错在哪里。
最后的最后,翻书看数据结构里面的描述,才明白过来,为什么要学习数据结构,就是为了解决非数值类型数据处理问题而存在。
对于数值性质的数据,可以使用数组,二维数组等形式来组织使用,像是double[] data, int[][] data, 都能够表现数值性质数据的集合。但是对于非数值集合比较常见的有String类数据,大部分就需要数据结构来解决,用合理合适的数据结构来保存非数值的集合。比如用ArrayList dancer这种方式来保存和处理多个dancer对象。

class Dancer{
    private String name;
    private String sex;
    public Dancer(String name, String sex){
        this.name = name; 
        this.sex = sex;
    }
    public boolean danceMatch(String sex){
        return this.sex.equals(sex);
    }
    public String getName(){
        return name;
    }
    public String getSex(){
        return sex;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43399072/article/details/83215746