数据结构实验报告——排序算法设计及分析(排序单链表)

一、实验目的和要求

通过学习多种排序算法,体会对同一种操作多种不同的算法设计;通过比较各排序算法对于数据存储结构的要求,体会算法设计不依赖于数据存储结构,而算法实现依赖于数据存储结构:通过分析排序算法的效率,研究如何进一步提高算法性能的方法。

要求掌握每种排序算法思路、算法描述、算法设计 与算法实现手段,掌握排序算法时间复杂度和空间复杂度的分析方法,具有排序算法的设计能力。

二、实验题目

实验一:由单链表构造排序单链表

public SortedSinglyList(SinglyList<T> list)

实验二:返回归并后的排序单列表

Public SortedSinglyList<T> mergeWith(SortedSinglyList<T> list)

三、实验方法与步骤(需求分析、算法设计思路、流程图等)

(1)由单链表构造排序单链表

遍历单链表,定义一个结点记录最小值,如果所在结点比最小值小,就进行替换,否则移动到下一个结点,最后返回链表。

(2) 返回归并后的排序单列表

创建一个新的、空的排序单链表,开始比较两个单链表中元素的大小,如果this的元素小于list的第一个,就一直遍历this,一直到this的元素大于list时,再遍历list,list的遍历和之前步骤一样。

  • 实验原始纪录(源程序、数据结构等)

public class SortedSinglyList<T extends Comparable<? super T>> extends SinglyList<T>

{    

    public SortedSinglyList()                             

    {

        super();                                          

    }

    

    public SortedSinglyList(T[] values)                    

    {

        super();                                          

        for (int i=0;  i<values.length;  i++)             

            this.insert(values[i]);                       

    }

    public SortedSinglyList(SortedSinglyList<T> list)      

    {

        super(list);                                      

    }   

    public void set(int i, T x)

    {

        throw new UnsupportedOperationException("set(int i, T x)");

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值