ಆಯ್ಕೆಯ ವಿಂಗಡಣೆ (ಸೆಲಕ್ಷನ್ ಸಾರ್ಟ್)
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಸೆಲೆಕ್ಷನ್ ಸಾರ್ಟ್ (ಆಯ್ಕೆಯ ವಿಂಗಡಣೆ) ಸ್ಥಾನದಲ್ಲಿರುವ ಹೋಲಿಕೆ ವಿಂಗಡಣೆ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. ಇದು O ( n 2 ) ಸಮಯದ ಸಂಕೀರ್ಣತೆಯನ್ನು ಹೊಂದಿದೆ. ಇದು ದೊಡ್ಡ ಅರ್ರೆ ಗಳಲ್ಲಿ ನಿಷ್ಪರಿಣಾಮಕಾರಿಯಾಗಿಸುತ್ತದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದೇ ರೀತಿಯ ಅಳವಡಿಕೆಯ ವಿಂಗಡಣೆಗಿಂತ ಕೆಟ್ಟದಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಸೆಲೆಕ್ಷನ್ ಸಾರ್ಟ್ ಅದರ ಸರಳತೆಗಾಗಿ ಗುರುತಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಅಲ್ಗಾರಿದಮ್ಗಳಿಗಿಂತ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ, ವಿಶೇಷವಾಗಿ ಸಹಾಯಕ ಮೆಮೊರಿಯು ಸೀಮಿತವಾಗಿರುತ್ತದೆ.
ಅಲ್ಗಾರಿದಮ್ ಇನ್ಪುಟ್ ಅರ್ರೆ ಯನ್ನು ಎರಡು ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ: ಅರ್ರೆಯ ಮುಂಭಾಗದಲ್ಲಿ (ಎಡ) ಎಡದಿಂದ ಬಲಕ್ಕೆ ನಿರ್ಮಿಸಲಾದ ಐಟಂಗಳ ವಿಂಗಡಿಸಲಾದ ಸಬ್ ಅರ್ರೆ ಮತ್ತು ಅರ್ರೆಯ ಉಳಿದ ಭಾಗವನ್ನು ಆಕ್ರಮಿಸುವ ಉಳಿದ ವಿಂಗಡಿಸದ ಐಟಂಗಳ ಅರ್ರೆ. ಆರಂಭದಲ್ಲಿ, ವಿಂಗಡಿಸಲಾದ ಸಬ್ ಅರ್ರೆಯು ಖಾಲಿಯಾಗಿರುತ್ತದೆ ಮತ್ತು ವಿಂಗಡಿಸದ ಸಬ್ ಅರ್ರೆಯು ಸಂಪೂರ್ಣ ಇನ್ಪುಟ್ ಅರ್ರೆಯಾಗಿದೆ. ವಿಂಗಡಿಸದ ಸಬ್ ಅರ್ರೆಯಲ್ಲಿ ಚಿಕ್ಕದಾದ (ಅಥವಾ ದೊಡ್ಡದಾದ, ವಿಂಗಡಣೆಯ ಕ್ರಮವನ್ನು ಅವಲಂಬಿಸಿ) ಅಂಶವನ್ನು ಕಂಡುಹಿಡಿಯುವ ಮೂಲಕ ಅಲ್ಗಾರಿದಮ್ ಮುಂದುವರಿಯುತ್ತದೆ, ಅದನ್ನು ಎಡಭಾಗದ ವಿಂಗಡಿಸದ ಅಂಶದೊಂದಿಗೆ (ವಿಂಗಡಿಸಿದ ಕ್ರಮದಲ್ಲಿ ಇರಿಸುವುದು) ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವುದು (ಬದಲಾಯಿಸುವುದು) ಮತ್ತು ಸಬ್ಲಿಸ್ಟ್ ಗಡಿಗಳನ್ನು ಒಂದು ಎಲಿಮೆಂಟ್ ಅನ್ನು ಬಲಕ್ಕೆ ಸರಿಸುವುದು. .
ಸೆಲೆಕ್ಷನ್ ಸಾರ್ಟ್ ಸಮಯದ ದಕ್ಷತೆಯು ಕ್ವಾಡ್ರಾಟಿಕ್ ಆಗಿದೆ. ಆದ್ದರಿಂದ ಸೆಲೆಕ್ಷನ್ ಸಾರ್ಟ್ ಗಿಂತ ಉತ್ತಮ ಸಮಯ ಸಂಕೀರ್ಣತೆಯನ್ನು ಹೊಂದಿರುವ ಹಲವಾರು ಸಾರ್ಟ್ ಮಾಡುವ ತಂತ್ರಗಳಿವೆ.
ಉದಾಹರಣೆ
ಬದಲಾಯಿಸಿಐದು ಎಲಿಮೆಂಟ್ ಗಳನ್ನು ವಿಂಗಡಿಸುವ ಈ ರೀತಿಯ ಅಲ್ಗಾರಿದಮ್ನ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:
ಉಪಪಟ್ಟಿ ವಿಂಗಡಿಸಲಾಗಿದೆ | ವಿಂಗಡಿಸದ ಉಪಪಟ್ಟಿ | ವಿಂಗಡಿಸದ ಪಟ್ಟಿಯಲ್ಲಿ ಕಡಿಮೆ ಅಂಶ |
---|---|---|
() | (11, 25, 12, 22, 64) | 11 |
(11) | (25, 12, 22, 64) | 12 |
(11, 12) | (25, 22, 64) | 22 |
(11, 12, 22) | (25, 64) | 25 |
(11, 12, 22, 25) | (64) | 64 |
(11, 12, 22, 25, 64) | () |
(ಈ ಕೊನೆಯ ಎರಡು ಸಾಲುಗಳಲ್ಲಿ ಏನೂ ಬದಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಕೊನೆಯ ಎರಡು ಸಂಖ್ಯೆಗಳು ಈಗಾಗಲೇ ಸಾರ್ಟ್ ಆಗಿದ್ದವು.)