• 《数据结构与算法JavaScript描述》中的一处错误


    最近在看《数据结构与算法JavaScript描述》这本书,看到选择排序这部分时,发现一个比较大的错误。

    原书的选择排序算法是这样的:

    function selectionSort() {
    	var min, temp;
    	for (var outer = 0; outer <= this.dataStore.length - 2; ++outer) {
    		min = outer;
    		for (var inner = outer + 1; inner <= this.dataStore.length - 1; ++inner) {
    			if (this.dataStore[inner] < this.dataStore[min]) {
    				min = inner;
    			}
    			swap(this.dataStore, outer, min);
    		}	
    	}
    }
    

    错误在于,它把swap函数放在了内循环里面了,其实swap函数应该放在内循环外面,原理就不多说了,书上都有:

    function selectionSort() {
    	var min, temp;
    	for (var outer = 0; outer <= this.dataStore.length - 2; ++outer) {
    		min = outer;
    		for (var inner = outer + 1; inner <= this.dataStore.length - 1; ++inner) {
    			if (this.dataStore[inner] < this.dataStore[min]) {
    				min = inner;
    			}
    		}	
    		swap(this.dataStore, outer, min);
    	}
    }
  • 相关阅读:
    Skimage=scikit-image SciKit 包的模块(转载)
    python day12
    python day11
    python day10
    python day9
    python day8
    python day7
    python day6
    python 第五天
    python 第四天
  • 原文地址:https://www.cnblogs.com/xljzlw/p/4314539.html
Copyright © 2020-2023  润新知