zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    
  • 相关阅读:
    十大排序
    算法11----判断是否为回文词(双端队列判断)
    算法10-----分糖果
    算法9-----输出全排列(递归)---移除K个数,剩下最小数。
    算法8-----罗马字转整数(分治法)
    Python数据结构2-----队列和堆
    Python数据结构1-----基本数据结构和collections系列
    Python笔记22-----高阶函数
    10、TV UI
    9、创建向后兼容的用
  • 原文地址:https://www.cnblogs.com/zhanghaolin/p/7822597.html
Copyright © 2011-2022 走看看