• 20162304 实验三


    20162304 实验三

    实验三-查找与排序-1

    实验结果


    实验三-查找与排序-2

    把Sorting.java Searching.java放入 cn.edu.besti.cs1623.(姓名首字母+四位学号)  包中
    把测试代码放test包中
    重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)
    
    • 这个实验的话比较简单,只需要打个包即可。

    实验三-查找与排序-3

    参考http://www.cnblogs.com/maybe2030/p/4715035.html 在Searching中补充查找算法并测试
    提交运行结果截图
    

    整体实验结果截图:

    代表性代码:

    • 平衡查找树之2-3查找树:
     public static Comparable treesearch(Integer[] data,Integer target){
            LinkedBinarySearchTree linkedBinarySearchTree =new LinkedBinarySearchTree();
            int i = 0;
            while(i<data.length){
                linkedBinarySearchTree.add(data[i]);
                i++;
            }
            return linkedBinarySearchTree.find(target);
        }
    

    实验三-查找与排序-4

    补充实现课上讲过的排序方法:希尔排序,堆排序,桶排序,二叉树排序等
    测试实现的算法(正常,异常,边界)
    提交运行结果截图
    推送相关代码到码云上
    
    • 堆排序相关学习:堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。

    • 实验成果:

      public static void HeapSort(Comparable []arr){
            LinkedMaxHeap heap =new LinkedMaxHeap();
            for(int i=0;i<arr.length;i++){
                heap.add(arr[i]);
            }
            for (int j=arr.length-1;j>=0;j--){
                arr[j]=heap.getMax();
                heap.removeMax();
            }
        }
    
  • 相关阅读:
    PAT Basic 1077 互评成绩计算 (20 分)
    PAT Basic 1055 集体照 (25 分)
    PAT Basic 1059 C语言竞赛 (20 分)
    PAT Basic 1072 开学寄语 (20 分)
    PAT Basic 1049 数列的片段和 (20 分)
    蓝桥杯BASIC-13 数列排序
    蓝桥杯入门——3.序列求和
    蓝桥杯入门——2.圆的面积
    蓝桥杯入门——1.Fibonacci数列
    树的总结(遍历,BST,AVL原型,堆,练习题)
  • 原文地址:https://www.cnblogs.com/zhanghaolin/p/7822597.html
Copyright © 2020-2023  润新知