>> [ಸಂಗೀತ]
>> ZAMYLA ಚಾನ್: ನೀವು ಬಹುಶಃ ಮೊದಲ ವಿಷಯ ಹೇಗೆ ಬಗ್ಗೆ ಸೂಚನೆ ಎಂದು ನಾವು ಈಗಾಗಲೇ
ಕೋಡ್ ನಮಗೆ ಬರೆದಿದ್ದಾರೆ.
ಈ ವಿತರಣಾ ಕೋಡ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ.
ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಸ್ವಂತ ಬರೆಯಲು ಇಲ್ಲ ಎಲ್ಲಿಯೂ ಆರಂಭದಿಂದ ಕೋಡ್.
ಬದಲಿಗೆ, ನಾವು ಖಾಲಿಜಾಗಗಳು ತುಂಬುವ ಮಾಡುತ್ತಿದ್ದೇವೆ ಕೆಲವು ಪೂರ್ವ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೋಡ್.
>> find.c ಪ್ರೋಗ್ರಾಂ ಸಂಖ್ಯೆಗಳನ್ನು ಕೇಳುತ್ತದೆ ಬಣಬೆ ತುಂಬಲು, ಹುಡುಕುತ್ತದೆ
ಒಂದು ಬಳಕೆದಾರ ಸಲ್ಲಿಸಿದ ಸೂಜಿ ಬಣಬೆ, ಮತ್ತು ಇದು ರೀತಿಯ ಕರೆದು ಮೂಲಕ ಹೀಗೆ ಮಾಡುತ್ತದೆ
ಹುಡುಕಾಟ, ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ helpers.c ರಲ್ಲಿ.
ಆದ್ದರಿಂದ find.c ಈಗಾಗಲೇ ಬರೆಯಲಾಗಿದೆ.
ನಿಮ್ಮ ಕೆಲಸ ಸಹಾಯಕರು ಬರೆಯಲು.
>> ನಾವು ಏನು ಮಾಡುತ್ತಿದ್ದಿಯಾ?
ನಾವು ಎರಡು ಕಾರ್ಯಗಳನ್ನು ಅನುಷ್ಠಾನಕ್ಕೆ ಮಾಡುತ್ತಿದ್ದೇವೆ.
ನಿಜವಾದ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಇದು ಹುಡುಕು, ಒಂದು ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿದ, ಬಣಬೆ ಕಂಡುಬರುತ್ತದೆ
ಸುಳ್ಳು ಮೌಲ್ಯವನ್ನು ವೇಳೆ ಅಲ್ಲ ಬಣಬೆ.
ನಂತರ ನಾವು ರೀತಿಯ ಅನುಷ್ಠಾನಕ್ಕೆ ಮಾಡುತ್ತಿದ್ದೇವೆ ಇದು ಮೌಲ್ಯಗಳನ್ನು ಎಂಬ ರೀತಿಯ ರಚನೆಯ.
>> ಆದ್ದರಿಂದ ಹುಡುಕಾಟ ನಿಭಾಯಿಸಲು ಅವಕಾಶ.
ಹುಡುಕು ಪ್ರಸ್ತುತ ಅನುಷ್ಠಾನಗೊಳಿಸಲಾಗುತ್ತದೆ ರೇಖೀಯ ಹುಡುಕಾಟ, ಆದರೆ ನೀವು ತುಂಬಾ ಮಾಡಬಹುದು
ಉತ್ತಮ.
ರೇಖೀಯ ಹುಡುಕಾಟ ಓ ಅಳವಡಿಸಲಾಗಿದೆ ಎನ್ ಸಮಯ, ಇದು ಸ್ವಲ್ಪ ನಿಧಾನ.
ಆದರೂ, ಇದು ಹುಡುಕಬಹುದು ಇದು ನೀಡಿದ ಯಾವುದೇ ಪಟ್ಟಿ.
ನಿಮ್ಮ ಕೆಲಸ ಬೈನರಿ ಸರ್ಚ್ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಆಗಿದೆ, ಲಾಗ್ N ಸಮಯ ಒ ರನ್ ಇದು.
ಆ ಬಹಳ ವೇಗವಾಗಿ ಇಲ್ಲಿದೆ.
>> ಆದರೆ ಒಂದು ಷರತ್ತು ಇಲ್ಲ.
ಬೈನರಿ ಸರ್ಚ್ ಮಾತ್ರ ಹುಡುಕಬಹುದು ಮೊದಲೇ ವಿಂಗಡಿಸಲಾದ ಪಟ್ಟಿಗಳನ್ನು ಮೂಲಕ.
ಏಕೆ ಎಂದು?
>> ಅಲ್ಲದೆ ನ ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.
ಮೌಲ್ಯಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಿದ, ಬಣಬೆ, ನಾವು ನೋಡುತ್ತಿರುವ ನೀನು
ಒಂದು ಸೂಜಿ.
ಮತ್ತು ಈ ಉದಾಹರಣೆಗೆ, ಪೂರ್ಣಾಂಕ ಮೂರು.
ಬೈನರಿ ಸರ್ಚ್ ಕೆಲಸ ರೀತಿಯಲ್ಲಿ ಎಂದು ನಾವು ಮಧ್ಯದಲ್ಲಿ ಮೌಲ್ಯವನ್ನು ಹೋಲಿಸಿ
ಹೆಚ್ಚು ಸೂಜಿ ರಚನೆಯ, ಹೇಗೆ ನಾವು ಮಧ್ಯಮ ಒಂದು ದೂರವಾಣಿ ಪುಸ್ತಕ ತೆರೆಯಿತು
ವಾರದ ಶೂನ್ಯ ರಲ್ಲಿ ಪುಟ.
>> ಆದ್ದರಿಂದ ಮಧ್ಯಮ ಮೌಲ್ಯವನ್ನು ಹೋಲಿಕೆ ನಂತರ ಸೂಜಿ, ನೀವು ಎರಡೂ ತಿರಸ್ಕರಿಸಬಹುದು
ಎಡ ಅಥವಾ ರಚನೆಯ ಬಲ ಅರ್ಧ ನಿಮ್ಮ ರಭಸದಿಂದ ಬಿಗಿ ಮೂಲಕ.
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಮೂರು ರಿಂದ ನಮ್ಮ ಸೂಜಿ, ಕಡಿಮೆ 10, ಮಧ್ಯದ ಮೌಲ್ಯವು ಆಗಿದೆ
ಬಲ ಬೌಂಡ್ ಕಡಿಮೆ ಮಾಡಬಹುದು.
ಆದರೆ ನಿಮ್ಮ ರಭಸದಿಂದ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಸಾಧ್ಯವಾದಷ್ಟು ಬಿಗಿಯಾಗಿ.
ಮಧ್ಯಮ ಮೌಲ್ಯ ಸೂಜಿ ಇದ್ದರೆ, ನಂತರ ನೀವು ಅಗತ್ಯವಿಲ್ಲ ತಿಳಿದಿದೆ
ನಿಮ್ಮ ಹುಡುಕಾಟ ಸೇರಿವೆ.
ನೀವು ಬಲ ಹೊರಟ ನೀವು ಬಿಗಿಗೊಳಿಸುತ್ತದಾದರಿಂದ ಕೇವಲ ಸಣ್ಣ ಬಿಟ್ ಹೆಚ್ಚು ಹುಡುಕಾಟ ಗಡಿ,
ಹೀಗೆ ಇತ್ಯಾದಿ ರವರೆಗೆ ನಿಮ್ಮ ಸೂಜಿ ಕಾಣಬಹುದು.
>> ಹಾಗಾಗಿ ಸೂಡೊಕೋಡ್ಗಳನ್ನು ರೀತಿ ಮಾಡುವುದಿಲ್ಲ?
ನಾವು ಇನ್ನೂ ಮೂಲಕ ಹುಡುಕುತ್ತಿರುವ ಚೆನ್ನಾಗಿ ಪಟ್ಟಿ ಮತ್ತು ಇನ್ನೂ ಅಂಶಗಳನ್ನು ಹೊಂದಿವೆ
ನೋಡಲು, ನಾವು, ಪಟ್ಟಿ ಮಧ್ಯದಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಮಧ್ಯದ ಮೌಲ್ಯವು ಹೋಲಿಸಿ
ನಮ್ಮ ಸೂಜಿ.
ಅವರು ಸಮಾನ ಆಗಿದ್ದರೆ, ಆಗ ನಾವು ನೀವು ಅರ್ಥ ಸೂಜಿ ಕಂಡು ಮತ್ತು ನಾವು
ನಿಜವಾದ ಹಿಂತಿರುಗಿ.
>> ಇಲ್ಲವಾದರೆ, ಸೂಜಿ ಕಡಿಮೆ ವೇಳೆ ಮಧ್ಯದ ಮೌಲ್ಯವು ನಂತರ ನಾವು ಅರ್ಥ
ಬಲ ಅರ್ಧ ತಿರಸ್ಕರಿಸಲು ಕೇವಲ ಮಾಡಬಹುದು ರಚನೆಯ ಎಡಭಾಗದಲ್ಲಿ ಹುಡುಕಲು.
ಇಲ್ಲವಾದರೆ, ನಾವು ಹುಡುಕಲು ಮಾಡುತ್ತೇವೆ ರಚನೆಯ ಬಲಭಾಗದ.
ಮತ್ತು ಕೊನೆಯಲ್ಲಿ, ನೀವು ಯಾವುದೇ ಇಲ್ಲ ಹೆಚ್ಚು ಹುಡುಕಲು ಎಡ ಅಂಶಗಳನ್ನು ಆದರೆ ನೀವು
ನೀವು ನಂತರ, ಇನ್ನೂ ನಿಮ್ಮ ಸೂಜಿ ಕಂಡುಬಂದಿಲ್ಲ ಸುಳ್ಳು ಹಿಂತಿರುಗಿ ಏಕೆಂದರೆ ಸೂಜಿ
ಖಂಡಿತವಾಗಿಯೂ ಬಣಬೆ ಅಲ್ಲ.
>> ಈ ಸೂಡೊಕೋಡ್ಗಳನ್ನು ಬಗ್ಗೆ ಈಗ ಅಚ್ಚುಕಟ್ಟಾಗಿ ವಿಷಯ ಬೈನರಿ ಸರ್ಚ್ ಅದನ್ನು ಮಾಡುತ್ತದೆ
ರೋಗ ಎರಡೂ ತಿಳಿಯುತ್ತದೆ ಅಥವಾ ಪುನರಾವರ್ತಿತ ಅನುಷ್ಠಾನ.
ನೀವು ಎಂದು ಆದ್ದರಿಂದ ಇದು ಪುನರಾವರ್ತಿತ ಎಂದು ಹುಡುಕಾಟ ಒಳಗೆ ಹುಡುಕಾಟ ಕಾರ್ಯ
ರಚನೆಯ ಎರಡೂ ಅರ್ಧ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ನಾವು ಸ್ವಲ್ಪ ನಂತರ ರಿಕರ್ಶನ್ ರಕ್ಷಣೆ ಮಾಡುತ್ತೇವೆ ಸಹಜವಾಗಿ, ಆದರೆ ಇದು ಒಂದು ಎಂದು ಗೊತ್ತು
ಆಯ್ಕೆಯನ್ನು ನೀವು ಪ್ರಯತ್ನಿಸಿ ಬಯಸಿದಲ್ಲಿ.
>> ಈಗ ವಿಂಗಡಿಸಿ ನೋಡೋಣ.
ವಿಂಗಡಿಸಿ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಮತ್ತು ಪೂರ್ಣಾಂಕ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ರಚನೆಯ ಗಾತ್ರ N,.
ಈಗ ವಿವಿಧ ವಿವಿಧ ರೀತಿಯ ರೀತಿಯ, ಮತ್ತು ನೀವು ಕೆಲವು ನೋಡಬಹುದು
ಡೆಮೊಗಳು ಮತ್ತು ವಿವರಣೆಗಳಿಗೆ ಕಿರು.
ಪ್ರತಿಯಾಗಿ ರೀತಿಯ ನಮ್ಮ ರೀತಿಯ ಕಾರ್ಯದಲ್ಲಿ ಅನೂರ್ಜಿತ.
ಆದ್ದರಿಂದ ನಾವು ಹೋಗುತ್ತಿಲ್ಲ ಅರ್ಥ ರೀತಿಯ ಯಾವುದೇ ವ್ಯೂಹ ಮರಳಲು.
ನಾವು ವಾಸ್ತವವಾಗಿ ಬಹಳ ಬದಲಾಯಿಸಲು ನೀನು ನಮಗೆ ಒಳಗೆ ರವಾನಿಸಲಾಗಿದೆ ಎಂದು ರಚನೆಯ.
>> ಸರಣಿಗಳ ಏಕೆಂದರೆ ಸಾಧ್ಯತೆಯೂ ನಾವು ಈಗ ಸಿ ಉಲ್ಲೇಖ ಮಾಡುತ್ತೇವೆ ಜಾರಿಗೆ
ನಂತರ ಈ ಬಗ್ಗೆ ಹೆಚ್ಚು ನೋಡಿ, ಆದರೆ ರವಾನಿಸುವುದನ್ನು ನಡುವಿನ ಅವಶ್ಯಕ ವ್ಯತ್ಯಾಸ
ಒಂದು ಪೂರ್ಣಾಂಕ ಮತ್ತು ಹಾದುಹೋಗುವ ರೀತಿಯ ಒಂದು ಶ್ರೇಣಿಯನ್ನು, ಎಂದು ನೀವು
ಒಂದು ಪೂರ್ಣಾಂಕ ಹಾದು, ಸಿ ಕೇವಲ ಹೋಗುತ್ತದೆ ಪೂರ್ಣಾಂಕ ಪ್ರತಿಯನ್ನು ಮಾಡಲು ಮತ್ತು ರವಾನಿಸಲು
ಫಂಕ್ಷನ್ ಇದು.
ಮೂಲ ವೇರಿಯಬಲ್ ಬದಲಾಗುವುದಿಲ್ಲ ಕಾರ್ಯ ಮುಗಿದ ನಂತರ.
ಸಹಿತ, ಮತ್ತೊಂದೆಡೆ, ಅದು ಪ್ರತಿಯನ್ನು ಮಾಡಲು ಹೋಗಿ, ಮತ್ತು ನೀವು ಅಲ್ಲ
ವಾಸ್ತವವಾಗಿ ಸಂಪಾದನೆ ಬಹಳ ರಚನೆಯ ಸ್ವತಃ.
>> ಆದ್ದರಿಂದ ರೀತಿಯ ಒಂದು ವಿಧ ಆಯ್ಕೆ ರೀತಿಯ.
ಆಯ್ಕೆ ರೀತಿಯ ಪ್ರಾರಂಭವಾಗುವ ಕೆಲಸ ನೀವು ತಿರುಗಿ ನಂತರ ಆರಂಭದಲ್ಲಿ, ಮತ್ತು
ಮೇಲೆ ಮತ್ತು ಚಿಕ್ಕ ಅಂಶ ಪಡೆಯುವ.
ತದನಂತರ ನೀವು ಸ್ವ್ಯಾಪ್ ಚಿಕ್ಕ ಮೊದಲ ಒಂದು ಅಂಶ.
ನಂತರ ನೀವು ಎರಡನೇ ಅಂಶ ಸರಿಸಲು , ಮುಂದಿನ ಚಿಕ್ಕ ಹೇಗೆ
ನಂತರ ಅಂಶ, ಮತ್ತು ಸ್ವ್ಯಾಪ್ ಜೊತೆ ರಚನೆಯ ಎರಡನೆಯ ಅಂಶ ಏಕೆಂದರೆ
ಮೊದಲ ಅಂಶ ಈಗಾಗಲೇ ಪ್ರತ್ಯೇಕಿಸಲ್ಪಡುತ್ತವೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನೀವು ಪ್ರತಿ ಮುಂದುವರೆಯಲು ಚಿಕ್ಕ ಗುರುತಿಸುವ ಅಂಶ
ಮೌಲ್ಯ ಮತ್ತು ಔಟ್ ವಿನಿಮಯ.
>> ನಾನು 0, ಮೊಟ್ಟಮೊದಲ ಅಂಶ ಸಮನಾಗಿರುತ್ತದೆ ಫಾರ್ ಎನ್ ಮೈನಸ್ 1, ನೀವು ಹೋಲಿಸಲು ನೀನು
ಪ್ರತಿ ಮುಂದಿನ ನಂತರ ಮೌಲ್ಯ ಮತ್ತು ಹೇಗೆ ಕನಿಷ್ಠ ಮೌಲ್ಯದ ಸೂಚ್ಯಂಕ.
ನೀವು ಕನಿಷ್ಠ ಮೌಲ್ಯವನ್ನು ಸೂಚ್ಯಂಕ ಹೇಗೆ ಒಮ್ಮೆ, ನೀವು ರಚನೆಯ ಮೌಲ್ಯವನ್ನು ವಿನಿಮಯ ಮಾಡಬಹುದು
ಕನಿಷ್ಠ ಮತ್ತು ರಚನೆಯ ಐ
>> ರೀತಿಯ ಮತ್ತೊಂದು ವಿಧದ ಎಂದು ನೀವು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಬಲ್ ರೀತಿಯ ಆಗಿದೆ.
ಪಟ್ಟಿಯ ಮೇಲೆ ಆದ್ದರಿಂದ ಬಬಲ್ ರೀತಿಯ iterates ಪಕ್ಕದ ಅಂಶಗಳನ್ನು ಮತ್ತು ಹೋಲಿಸುವ
ಅಂಶಗಳನ್ನು ಬದಲಾಯಿಸಿಕೊಳ್ಳಬೇಕು ಎಂದು ತಪ್ಪು ಕ್ರಮದಲ್ಲಿ ಇರುತ್ತದೆ.
ಮತ್ತು ಈ ರೀತಿಯಲ್ಲಿ, ದೊಡ್ಡ ಅಂಶ ಬಬಲ್ ಕೊನೆಯಲ್ಲಿ ತಿನ್ನುವೆ.
ಮತ್ತು ಪಟ್ಟಿ ಒಮ್ಮೆ ಯಾವುದೇ ಪ್ರತ್ಯೇಕಿಸಲ್ಪಡುತ್ತವೆ ಅಂಶಗಳನ್ನು ವಿನಿಮಯವಾಗಿದೆ ಮಾಡಲಾಗಿತ್ತು.
>> ಆದ್ದರಿಂದ ಆ ರೀತಿಯ ಎರಡು ಉದಾಹರಣೆಗಳು ನೀವು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ಕ್ರಮಾವಳಿಗಳು
ಹೇಗೆ ಕಾರ್ಯಕ್ರಮ.
ನೀವು ರೀತಿಯ ಪೂರ್ಣಗೊಳಿಸಲು, ಮತ್ತು ನೀವು ಒಮ್ಮೆ ಹುಡುಕಾಟ ಮಾಡಲಾಗುತ್ತದೆ, ನೀವು ಗಳಿಸಿದರು ಮಾಡುತ್ತಿದ್ದೇವೆ.
ನನ್ನ ಹೆಸರು Zamyla ಹೊಂದಿದೆ, ಮತ್ತು ಈ CS50 ಹೊಂದಿದೆ.
>> [ಸಂಗೀತ]