摘要:假設(shè)需要交換的兩個數(shù)為使用中間變量使用一個中間變量來做媒介來交換,設(shè)中間變量為則通過完成了交換,代碼如下不使用中間變量初看起來可能比較迷糊,下面分析一下,假設(shè)內(nèi)存結(jié)構(gòu)如下
假設(shè)需要交換的兩個數(shù)為 a, b
使用中間變量------------- | a | b | t | -------------
使用一個中間變量來做媒介來交換,設(shè)中間變量為t;則通過 a -> t; b -> a; t -> b 完成了交換,代碼如下
var t = a; a = b; b = t;不使用中間變量
a = a + b; b = a - b; a = a - b;
初看起來可能比較迷糊,下面分析一下,假設(shè)內(nèi)存結(jié)構(gòu)如下
a1 a2 --------- | a | b | ---------
先把兩個的和保存進(jìn)a所在的位置 a + b -> a1,狀態(tài)改變?nèi)缦?/p>
a1 a2 ------------- | a + b | b | -------------
現(xiàn)在a1位置已經(jīng)為a+b了,減去一個b便變成了a,然后放在a2位置,現(xiàn)在狀態(tài)如下
a1 a2 ------------- | a + b | a | -------------
最后用a1所在位置的數(shù)減去a2所在位置的數(shù)也即 a + b - a = b,放進(jìn)a1,完成交換
a1 a2 --------- | b | a | ---------
其實就是把兩數(shù)先累加放在其中一個位置,再用這個位置的數(shù)減去兩次另一個位置的數(shù)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/90446.html
摘要:二選擇排序原理在一列數(shù)字中,選出最小數(shù)與第一個位置的數(shù)交換。至此確定了前兩個位置上的數(shù)。示例代碼選擇排序?qū)崿F(xiàn)思路雙重循環(huán)完成,外層控制輪數(shù),當(dāng)前的最小值。 二、選擇排序 原理: 在一列數(shù)字中,選出最小數(shù)與第一個位置的數(shù)交換。然后在剩下的數(shù)當(dāng)中再找最小的與第二個位置的數(shù)交換,如此循環(huán)到倒數(shù)第二個數(shù)和最后一個數(shù)比較為止。(以下都是升序排列,即從小到大排列) 舉例說明: $arr =...
摘要:選擇排序就這么簡單從上一篇已經(jīng)講解了冒泡排序了,本章主要講解的是選擇排序,希望大家看完能夠理解并手寫出選擇排序的代碼,然后就通過面試了如果我寫得有錯誤的地方也請大家在評論下指出。 選擇排序就這么簡單 從上一篇已經(jīng)講解了冒泡排序了,本章主要講解的是選擇排序,希望大家看完能夠理解并手寫出選擇排序的代碼,然后就通過面試了!如果我寫得有錯誤的地方也請大家在評論下指出。 選擇排序介紹和穩(wěn)定性說明...
摘要:前面介紹了七大算法的思想與實現(xiàn)步驟,下面來做一個歸總。直到無序區(qū)中的數(shù)為零,結(jié)束排序。步驟以從小到大為例,排序數(shù)組大小為。比較完以后則排序結(jié)束。堆排序思想堆排序是采用樹的形式的數(shù)據(jù)結(jié)構(gòu)來進(jìn)行排序的,其中每一個堆都是完全二叉樹。 前面介紹了七大算法的思想與實現(xiàn)步驟,下面來做一個歸總。 排序方法 平均復(fù)雜度 最壞復(fù)雜度 最好復(fù)雜度 輔助空間 穩(wěn)定性 直接選擇排序 O(n^2...
摘要:今天,一條就帶大家徹底跨過排序算法這道坎,保姆級教程建議收藏。利用遞歸算法,對分治后的子數(shù)組進(jìn)行排序。基本思想堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)而設(shè)計的一種排序算法,堆排序是一種選擇排序,它的最壞,最好,平均時間復(fù)雜度均為,它也是不穩(wěn)定排序。 ...
摘要:本文對一些排序算法進(jìn)行了簡單分析,并給出了的代碼實現(xiàn)。平均時間復(fù)雜度不好分析,它是冒泡排序是穩(wěn)定的排序算法。冒泡排序是原地排序算法原地排序指的是空間復(fù)雜度是的排序算法。歸并排序,會將數(shù)組從中間分成左右兩部分。 本文對一些排序算法進(jìn)行了簡單分析,并給出了 javascript 的代碼實現(xiàn)。因為本文包含了大量的排序算法,所以分析不會非常詳細(xì),適合有對排序算法有一定了解的同學(xué)。本文內(nèi)容其實不...
閱讀 2229·2019-08-30 10:51
閱讀 785·2019-08-30 10:50
閱讀 1463·2019-08-30 10:49
閱讀 3130·2019-08-26 13:55
閱讀 1591·2019-08-26 11:39
閱讀 3412·2019-08-26 11:34
閱讀 1937·2019-08-23 18:30
閱讀 3381·2019-08-23 18:22