[Powered by Google Translate] நிரலாக்க, நாம் பெரும்பாலும், மதிப்புகள் பட்டியலை பிரதிநிதித்துவம் வேண்டும் அத்தகைய ஒரு பிரிவில் மாணவர்கள் பெயர்களை போல் சமீபத்திய வினாடி வினா அல்லது அவர்களது மதிப்பெண்கள். சி மொழியில், வரிசைகள் பயன்படுத்தலாம் அறிவித்தார் பட்டியல்கள் சேமிக்க. அது ஒரு பட்டியலின் தனிமங்களை கணக்கில் எளிதாக ஒரு வரிசையில் சேமிக்கப்படுகிறது, நீங்கள் அணுக வேண்டும் என்றால் அல்லது ith பட்டியல் உறுப்பு மாற்ற சில தன்னிச்சையான சுட்டுக்கு நான், என்று, தொடர்ந்து நேரத்தில் செய்ய முடியும் ஆனால் வரிசைகள் கூட, குறைபாடுகளும் உள்ளன. நாம் அறிவிக்கும் போது, நாம் என்ன செய்ய வேண்டும் அவர்கள் எப்படி பெரிய முன் வரை, என்று அவர்கள் சேமிக்க முடியும் என்பதை பல கூறுகள், இல்லை எப்படி பெரிய இந்த உறுப்புகள், அவற்றின் வகை நிர்ணயிக்கப்படும். உதாரணமாக, int வந்தடைவது (10) 10 பொருட்களை சேமிக்க முடியும் என்று ஒரு முழு எண்ணாக அளவு இருக்கும். நாம் பிரகடனம் பிறகு ஒரு அணியின் அளவு மாற்ற முடியாது. நாம் இன்னும் கூறுகள் சேமிக்க வேண்டும் என்றால் நாம் ஒரு புதிய அணி உருவாக்க வேண்டும். இந்த வரையறை உள்ளது காரணம் என்று நம் நிரல் முழு வரிசை சேமித்து நினைவகம் ஒரு தொடர்ச்சியான துண்டின் என்று. இந்த நாங்கள் எங்கள் அணியின் வைத்திருந்த இடையக என்று. மற்ற மாறிகள் இருக்கலாம் வரிசை உரிமை அடுத்த அமைந்துள்ள நினைவகத்தில், நாம் செய்ய முடியாது ஒரு வரிசைக்கு பெரிய செய்யும். சில நேரங்களில் நாம் அணியின் வேக தரவு அணுகல் வேகம் வர்த்தகம் விரும்புகிறேன் ஒரு சிறிய அதிக நெகிழ்வு தன்மையை. இணைக்கப்பட்ட பட்டியலில், மற்றொரு அடிப்படை தரவு கட்டமைப்பு உள்ளிடவும் நீங்கள் போல பழக்கமான இருக்கலாம். அதிக அளவில், ஒரு இணைக்கப்பட்ட பட்டியலில் முனைகளில் ஒரு காட்சியில் சேமிக்கிறது என்று, இணைப்புகளை ஒவ்வொரு மற்ற இணைக்கப்பட்டுள்ளது எனவே பெயர் 'இணைக்கப்பட்ட பட்டியலில்.' வடிவமைப்பு நாம் பார்க்க வேண்டும் என, இந்த வேறுபாடு பல்வேறு நன்மைகள் மற்றும் தீமைகள் வழிவகுக்கிறது ஒரு அணியை காட்டிலும். இங்கே முழு ஒரு மிக எளிய இணைக்கப்பட்ட பட்டியலில் சில சி குறியீடு. நாம் ஒவ்வொரு கணு குறிப்பிடப்படுகின்றன என்று பார்க்கலாம் 2 விஷயங்களை கொண்டிருக்கும் ஒரு struct என பட்டியலில், 'வால்' என்று சேமிக்க ஒரு முழு எண் பட்டியலில் அடுத்த முனை மற்றும் ஒரு இணைப்பு நாம் ஒரு சுட்டிக்காட்டி என பிரதிநிதித்துவப்படுத்தும் 'அடுத்த.' இந்த வழியில், நாங்கள் முழு பட்டியல் கண்காணிக்க முடியும் 1 முனை வெறும் ஒற்றை சுட்டிக்காட்டி கொண்டு, மற்றும் நாம் அடுத்த சுட்டிகள் பின்பற்ற முடியாது 2 வது முனை வேண்டும், 3 முனை வேண்டும், 4 முனை வேண்டும், அதனால், நாங்கள் பட்டியல் இறுதியில் கிடைக்கும் வரை. இந்த கொண்டுள்ளது 1 பயன்படுத்தி பார்க்க முடியும் நிலையான வரிசை அமைப்பு மீது - இணைக்கப்பட்ட பட்டியல், நாம் முற்றிலும் நினைவகம் ஒரு பெரிய துண்டின் தேவையில்லை. பட்டியல் 1 முனை, நினைவக இந்த இடத்தில் வாழ முடியும் மற்றும் 2 வது முனை இங்கு அனைத்து வழி இருக்க முடியும். நினைவகத்தில் அவர்கள் எங்கே நாம், அனைத்து முனைகளில் எந்த விஷயத்தை பெற முடியும் ஏனெனில் ஒவ்வொரு கணு அடுத்த சுட்டிக்காட்டி, 1 வது முனை தொடங்கும் சரியாக அங்கு அடுத்த செல்ல நமக்கு சொல்கிறது. மேலும், நாம் முன் வரை சொல்ல இல்லை எவ்வளவு பெரிய ஒரு இணைக்கப்பட்ட பட்டியலில், நாங்கள் நிலையான வரிசைகள் செய்ய வழி இருக்கும் நாம் ஒரு பட்டியலில் முனைகளில் சேர்க்க முடியும் என்பதால் நீண்ட இடைவெளி புதிய முனைகள் நினைவகம் எங்கோ இருக்கிறது என்று. எனவே, தொடர்புடைய பட்டியல்கள் மாறும் அளவை எளிதாக இருக்கும். பின்னர் திட்டத்தில் நாம் இன்னும் முனைகளில் சேர்க்க வேண்டும், என்று எங்கள் பட்டியலில். ஈ எங்கள் பட்டியலில் ஒரு புதிய கணு செருக, நாம் செய்ய வேண்டியதெல்லாம், அந்த முனைக்கு நினைவகத்தை ஒதுக்க உள்ளது தரவு மதிப்பு உழை, நாம் சரியான சுட்டிகள் சரிசெய்வதன் மூலம் தேவையான மற்றும் அது வைக்க. உதாரணமாக, நாம் இடையே ஒரு முனை வைக்க விரும்பினால் பட்டியலில் 2 வது மற்றும் 3 வது முனைகள்,  நாங்கள் 2 வது அல்லது 3 வது முனைகளில் நகர்த்த வேண்டும் என்று. இந்த சிவப்பு முனை சேர்க்கைக்கு சொல்கிறீர்கள். நாம் என்ன செய்ய வேண்டும் என்று அனைத்து புதிய கணு அடுத்த சுட்டிக்காட்டி அமைக்கப்படுகிறது 3 முனை சுட்டிக்காட்ட பின்னர் 2 வது முனை அடுத்த சுட்டிக்காட்டி கம்பியிட்டு எங்கள் புதிய கணு சுட்டிக்காட்ட. எனவே, நாம் பறக்க எங்கள் பட்டியல்கள் மறுஅளவிடும் நம் கணினி அட்டவணையிடுதல் சார்ந்து இல்லை என்பதால், ஆனால் அவற்றை சேமிக்க சுட்டிகள் பயன்படுத்தி இணைக்கும் மீது. எனினும், ஒரு அனுகூலமற்ற இணைக்கப்பட்ட பட்டியல்கள் என்று, ஒரு நிலையான வரிசை போல், கணினி ஒரு பட்டியல் நடுத்தர செல்ல முடியாது. கணினி இணைக்கப்பட்ட பட்டியலில் ஒவ்வொரு கணு சென்று கொண்டிருப்பதால் அடுத்த ஒரு பெற, இது ஒரு குறிப்பிட்ட முனை கண்டுபிடிக்க நீண்ட கொள்ள நடக்கிறது இது ஒரு வரிசையில் என விட. முழு பட்டியல் விகிதாசார நேரம் எடுத்து பிரயாணம் பட்டியல் நீளம், அல்லது ஓ (n) அணுகுமுறை குறிமுறையில். சராசரியாக, எந்த முனை அடைவதில் மேலும் நேரம் n நேர்விகிதத்தில் எடுக்கும். இப்போது, அது உண்மையில் சில குறியீடு எழுத அனுமதி அந்த இணைக்கப்பட்ட பட்டியல்கள் வேலை. நாம் முழு ஒரு இணைக்கப்பட்ட பட்டியலில் வேண்டும் என்று. நாங்கள் மீண்டும் எங்கள் பட்டியலில் ஒரு முனை பிரதிநிதித்துவம் முடியாது 2 துறைகளில் ஒரு struct என, 'வால்' என ஒரு முழு எண் மதிப்பை மற்றும் பட்டியல் அடுத்த முனையில் ஒரு அடுத்த சுட்டிக்காட்டி. நன்றாக, போதுமான எளிய தெரிகிறது. நாம் ஒரு செயல்பாடு எழுத வேண்டும் என்று இது குறுக்கீடாய் அவுட் பட்டியல் மற்றும் அச்சிட்டு மதிப்பு பட்டியலில் கடைசி முனை சேமிக்கப்படும். சரி, நாம் பட்டியலில் அனைத்து முனைகளில் பிரயாணம் செய்ய வேண்டும் என்றால் கடந்த ஒரு கண்டுபிடிக்க, ஆனால் நாம் சேர்க்கும் இல்லை என்பதால் அல்லது ஏதாவது நீக்குதல், நாம் மாற்ற விரும்பவில்லை பட்டியலில் அடுத்த சுட்டிகள் உள் கட்டமைப்பு. எனவே, நாம் பயணித்தல் குறிப்பாக ஒரு சுட்டிக்காட்டி வேண்டும் இதில் நாம் 'கிராலர்.' அழைக்கிறேன் இது பட்டியலில் அனைத்து உறுப்புகள் மூலம் வலைவலம் அடுத்த சுட்டிகள் சங்கிலி பின்பற்றுவதன் மூலம். நாம் சேமித்து அனைத்து, 1 வது முனையும் ஒரு சுட்டிக்காட்டி உள்ளது பட்டியல் அல்லது 'தலை'. 1 முனை தலை புள்ளிகள். அது வகை சுட்டிக்காட்டி முதல் முனை தான். பட்டியலில் உண்மையான 1st முனை பெற, நாம், dereference இந்த சுட்டிக்காட்டி உள்ளது நாம் அது dereference முன்பு ஆனால், நாம் சோதிக்க வேண்டும் சுட்டிக்காட்டி முதல் பூஜ்ய என்றால். அது வெற்று இருந்தால், பட்டியல், காலியாக உள்ளது நாம், பட்டியல் காலியாக உள்ளது, ஏனெனில் அந்த ஒரு செய்தியை அச்சிட வேண்டும் கடந்த முனை இல்லை. ஆனால், நாம் பட்டியல் காலியாக உள்ளது என்று. அது இல்லை என்றால், நாம் முழு பட்டியல் மூலம் வலைவலம் செய்ய வேண்டும் நாம் பட்டியலில் கடைசி முனை பெற வரை, நாம் பட்டியலில் கடைசி முனை பார்த்து என்றால் எப்படி சொல்ல முடியும்? சரி, ஒரு முனை அடுத்த சுட்டிக்காட்டி பூஜ்ய என்றால், நாம் இறுதியில் எனக்கு தெரியும் கடந்த அடுத்த சுட்டிக்காட்டி சுட்டிக்காட்ட பட்டியலில் இல்லை அடுத்த முனை வேண்டும் என்பதால். அது எப்போதும் பூஜ்ய துவக்கப்படும் கடந்த முனை அடுத்த சுட்டிக்காட்டி வைத்து நல்ல நடைமுறையில் உள்ளது நாம் பட்டியலை இறுதி அடைந்துவிட்டீர்கள் போது எங்களுக்கு விழிப்பூட்டும் ஒரு தரப்படுத்தப்பட்ட சொத்து வேண்டும். எனவே, கிராலர் → அடுத்த பூஜ்ய என்றால், அம்புக்குறி தொடரியல் dereferencing ஒரு குறுக்குவழி என்று நினைவில் ஒரு struct ஒரு சுட்டிக்காட்டி, பின்னர் அணுகுவதை அருவருக்கத்தக்க சமமான அதன் அடுத்த புலத்தில்: (* கிராலர்). அடுத்த. ஒரு முறை நாங்கள் கடந்த கணு எதுவும் காணப்படவில்லை நாம், கிராலர் → Val அச்சிட வேண்டும் தற்போதைய முனை மதிப்பு இது எங்களுக்கு தெரியும் கடந்த ஒன்றாகும். இல்லையெனில், நாங்கள் பட்டியலில் கடைசி முனை நேரத்தில் இன்னும் இல்லை என்றால், நாம் பட்டியலில் அடுத்த முனை செல்ல வேண்டும் கடந்த ஒரு என்று பாருங்கள். இதை செய்ய, நாம் நமது கிராலர் சுட்டிக்காட்டி அமைக்க தற்போதைய முனை அடுத்த மதிப்பு சுட்டிக்காட்ட, அந்த பட்டியலில் உள்ள அடுத்த முனை உள்ளது. இந்த அமைப்பு செய்யப்படுகிறது கிராலர் = கிராலர் → அடுத்த. நாம் உதாரணமாக, ஒரு வட்டத்திற்கு இந்த செயல்முறை மீண்டும் நாம் கடந்த முனை கண்டுபிடிக்கும் வரை. அதனால், உதாரணமாக, கிராலர் தலையில் சுட்டி இருந்தால், நாம், கிராலர் → அடுத்த சுட்டிக்காட்ட கிராலர் அமைக்க இதில் 1 முனை அடுத்த துறையில் போல. எனவே, இப்போது எங்கள் கிராலர், 2 வது முனை குறிக்கின்ற மேலும், மீண்டும், நாம், ஒரு வட்டத்திற்கு இந்த மீண்டும் நாம் கடந்த முனை பார்த்த வரை, அந்த உள்ளது அங்கு முனை அடுத்த சுட்டிக்காட்டி வெற்று சுட்டி காட்டியது. அங்கு நாம், அது இல்லை நாம் பட்டியலில் கடைசி முனை கண்டுபிடித்துள்ளேன், அதன் மதிப்பு அச்சிட, நாம் தான் கிராலர் → Val பயன்படுத்த. பயணித்து மிக மோசமான அல்ல, ஆனால் என்ன சேர்க்கைக்கு பற்றி? நாம் நாம் 4 வது இடத்தில் ஒரு முழு நுழைக்க வேண்டும் என்று ஒரு முழு பட்டியலில். தற்போதைய 3 வது மற்றும் 4 வது முனைகளில் இடையே உள்ளது. மீண்டும், நாம் தான் செய்ய பட்டியலில் தொடரவேண்டும் 3 வது உறுப்பு, நாம் பிறகு சேர்க்கைக்கு நீங்கள் ஒரு பெற. எனவே, நாம், பட்டியலில் பிரயாணம் மீண்டும் ஒரு கிராலர் சுட்டிக்காட்டி உருவாக்க எங்கள் தலைவர் சுட்டிக்காட்டி பூஜ்ய என்றால், சோதனை அது இல்லை என்றால், தலைவர் முனை எங்கள் கிராலர் சுட்டிக்காட்டி சுட்டிக்காட்டுகின்றனர். எனவே, நாம் 1st உறுப்பு இருக்கிறாய். நாம், நாம் சேர்த்துவிடும் முன் 2 மேலும் கூறுகள் முன்னோக்கி செல்ல வேண்டும் நாம் வளைய ஒரு பயன்படுத்தலாம் int நான் = 1; நான் <3; நான் + மற்றும் சுழற்சி ஒவ்வொரு மீள்செய்கையில், 1 முனை முன்னோக்கி எங்கள் கிராலர் சுட்டிக்காட்டி முன்னெடுத்து தற்போதைய முனை அடுத்த துறையில் பூஜ்ய என்றால் மூலம், அது இல்லை என்றால், அடுத்த முனையில் நம் கிராலர் சுட்டிக்காட்டி நகர்த்த தற்போதைய முனை அடுத்த சுட்டிக்காட்டி அதை சமமாக அமைக்க. எனவே, நம் சுழற்சி செய்ய சொல்வது இருந்து இருமுறை, நாம், 3 முனை அடைந்துவிட்டீர்கள் ஒருமுறை எங்கள் கிராலர் சுட்டிக்காட்டி பின்னர் முனை அடைந்தது நாம், நமது புதிய முழு சேர்க்க வேண்டும் எப்படி நாம் உண்மையில் செருகுவது? நன்றாக, எங்கள் புதிய முழு பட்டியல் சேர்த்துக்கொள்ளப்பட வேண்டும் அதன் சொந்த முனை struct ஒரு பகுதியாக, இந்த உண்மையில் முனைகளில் ஒரு காட்சியில் என்பதால். எனவே, அது முனை ஒரு புதிய சுட்டிக்காட்டி செய்யலாம் 'new_node,' என்று அதை அமைக்க நாம் ஒதுக்கி அந்த நினைவு சுட்டிக்காட்ட கணு தானே குவியல் மீது, நாம் ஒதுக்க எவ்வளவு நினைவகம் தேவை? சரி, ஒரு முனை அளவு, மற்றும் நாம் சேர்க்க வேண்டும் என்று முழு அதன் Val துறையில் அமைக்க வேண்டும். நாம் 6, என்று. இப்போது, கணு எங்கள் முழு மதிப்பு உள்ளது. புதிய கணு அடுத்த துறையில் துவக்க கூட நல்ல நடைமுறையில் உள்ளது பூஜ்ய சுட்டிக்காட்ட, ஆனால் இப்போது என்ன? நாம் பட்டியல் உள் கட்டமைப்பு மாற்ற வேண்டும் அடுத்த சுட்டிகள் பட்டியலில் இருக்கும் உள்ள 3 வது மற்றும் 4 வது முனைகள். அடுத்த சுட்டிகள் பட்டியல் வரிசை தீர்மானிக்க, முதல் நாம் நமது புதிய கணு சேர்த்த பின்னர் வலது பட்டியல் நடுத்தர கொண்டு, அது ஒரு பிட் தந்திரமான இருக்க முடியும். நினைவில், ஏனெனில் இது நமது கணினி, இது ஒரே பட்டியலில் முனைகளில் இடம் தெரியும் முந்தைய புள்ளிகளில் சேமித்து அடுத்த சுட்டிகள் காரணமாக. எனவே, நாங்கள் எப்போதும், இந்த இடங்களில் எந்த போனதே என்று எங்கள் பட்டியலில் அடுத்த சுட்டிகள் ஒரு மாற்றுவதன் மூலம் சொல்ல, உதாரணமாக, நாம் மாற்ற சொல்ல 3 முனை அடுத்த புலம் இங்கு சில முனை சுட்டிக்காட்ட. நாங்கள் இல்லை, ஏனெனில் நாங்கள், வெளியே அதிர்ஷ்டம் இருக்க விரும்புகிறேன் , அங்கு பட்டியலில் மற்ற கண்டுபிடிக்க ஏதாவது என்று வெளிப்படையாக மிக மோசம். எனவே, நாம் ஒழுங்கு பற்றி மிகவும் கவனமாக இருக்க வேண்டும் நாங்கள் செருகும் போது நமது அடுத்த சுட்டிகள் கையாள இதில். எனவே, இந்த எளிமைப்படுத்த, தான் சொல்கிறேன் என்று எங்கள் முதல் 4 முனைகளில் சுட்டிகள் சங்கிலி குறிக்கும் அம்புகளை கொண்டு, ஏ, பி, சி, மற்றும் டி அழைக்கப்படுகின்றன முனைகளில் இணைக்க என்று. எனவே, நாம் புதிய கணு சேர்க்க வேண்டும் முனைகளில் சி மற்றும் டி இடையில் அதை சரியான முறையில் அதை செய்ய முக்கியமான விஷயம், ஏன் நான் காண்பிக்கிறேன். முதல் அதை செய்ய தவறான வழி பார்க்கிறேன். ஏய், நாம் புதிய கணு சி பின்னர் சரி வர வேண்டும் என்று, எனவே சி அடுத்த சுட்டிக்காட்டி அமைக்க அனுமதி new_node சுட்டிக்காட்ட. சரி, சரி போல, நாம் மட்டும் இப்போது முடிக்க வேண்டும் டி புதிய கணு அடுத்த சுட்டிக்காட்டி புள்ளி வைத்து, ஆனால் காத்திருப்பு, எப்படி என்று நாம் என்ன செய்ய முடியும்? டி அங்கு எங்களுக்கு சொல்ல முடியும் என்று மட்டும் தான், அடுத்த சுட்டிக்காட்டி முன்னர், சி சேமிக்கப்படும் ஆனால் நாம் தான் என்று சுட்டிக்காட்டி மீண்டும் எழுதிய புதிய கணு சுட்டிக்காட்ட, எனவே இனி, டி நினைவகத்தில் எங்கே எந்த துப்பும் வேண்டும் நாம் பட்டியல் மற்ற இழந்துவிட்டேன். அனைத்து நல்ல. எனவே, இந்த உரிமை எப்படி செய்வது? முதல், டி புதிய கணு அடுத்த சுட்டிக்காட்டி சுட்டி இப்போது, இரண்டு புதிய கணு மற்றும் சி அடுத்த சுட்டிகள் அதே முனை, டி குறிக்கின்ற இருக்கும், ஆனால் அது நல்லது. இப்போது நாம் புதிய கணு சி அடுத்த சுட்டிக்காட்டி சுட்டி முடியும். எனவே, நாம் எந்த தரவு இழப்பு இல்லாமல் இந்த செய்துவிட்டேன். குறியீடு, சி தற்போதைய முனை உள்ளது பயணித்தல் சுட்டிக்காட்டி கிராலர், சுட்டி காட்டியது என்று மற்றும் டி, தற்போதைய முனை அடுத்த புலத்தில் மூலம் சுட்டிக்காட்டினார் முனை குறிப்பிடப்படுகின்றன அல்லது கிராலர் → அடுத்த. எனவே, நாங்கள் முதல் புதிய கணு அடுத்த சுட்டிக்காட்டி அமைக்க கிராலர் → அடுத்த சுட்டிக்காட்ட, நாம் new_node அடுத்த சுட்டிக்காட்டி வேண்டும் என்று ஒரே வழி விளக்கம் டி சுட்டி. பின்னர், நாம் தற்போதைய முனை அடுத்த சுட்டிக்காட்டி அமைக்க முடியும் எங்கள் புதிய கணு வேண்டும், நாம் வரைபடத்தின் new_node செய்ய சி சுட்டிக்காட்ட காத்திருக்க வேண்டியிருந்தது போல். இப்போது எல்லாம் சரியாக இருக்கிறது, மற்றும் நாம் இழக்கவில்லை எந்த தரவு கண்காணிக்க, நாம் தான் முடிந்தது பட்டியல் மத்தியில் எங்கள் புதிய கணு ஒட்டிக்கொள்கின்றன முழு விஷயம் மீண்டும் அல்லது எந்த தனிமங்களுக்கு இல்லாமல் வழியில் நாம் ஒரு நிலையான நீளம் வரிசை கொண்ட வேண்டியிருந்தது. எனவே, தொடர்புடைய பட்டியல்கள் ஒரு அடிப்படை, ஆனால் முக்கியமான, டைனமிக் தரவு கட்டமைப்பு உள்ளது இது நன்மைகள் மற்றும் தீமைகள் இரண்டும் இல்லை கோவை மற்றும் பிற தரவு கட்டமைப்புகள் ஒப்பிடும்போது, மேலும், பெரும்பாலும் கணினி அறிவியல் வழக்கு இது, ஒவ்வொரு கருவியாக பயன்படுத்த போது எனக்கு முக்கியம் எனவே நீங்கள் சரியான வேலை சரியான கருவி எடுக்க முடியும். மேலும் நடைமுறை, செய்முறைகளை எழுத முயற்சி ஒரு இணைக்கப்பட்ட பட்டியலில் இருந்து முனைகளில் நீக்க - நீங்கள் மாற்றியமைக்க எந்த வரிசையில் பற்றி கவனமாக இருக்க வேண்டும் நினைவில் உங்கள் பட்டியலில் ஒரு துண்டின் இழக்க கூடாது என்பதை உறுதி செய்ய உங்கள் அடுத்த குறிப்புகள் - அல்லது ஒரு இணைக்கப்பட்ட பட்டியலில் முனைகளில் எண்ணுவதற்கு ஒரு செயல்பாடு, ஒரு இணைக்கப்பட்ட பட்டியலில் முனைகளில் அனைத்து வரிசை தலைகீழாக அல்லது ஒரு வேடிக்கையான ஒன்று. என் பெயர் ஜாக்சன் STEINKAMP தான், இந்த CS50 உள்ளது.