หน้าแรก
หน้าแรก
เมทริกซ์อุบัติการณ์ของกราฟเป็นอีกหนึ่งการแสดงกราฟเพื่อเก็บไว้ในหน่วยความจำ เมทริกซ์นี้ไม่ใช่เมทริกซ์กำลังสอง ลำดับของเมทริกซ์อุบัติการณ์คือ V x E โดยที่ V คือจำนวนจุดยอด และ E คือจำนวนขอบในกราฟ ในแต่ละแถวของเมทริกซ์นี้ เรากำลังวางจุดยอด และวางขอบในแต่ละคอลัมน์ ในการแทนค่านี้สำหรับ edge e {u, v} มัน
ในการตรวจสอบการเชื่อมต่อของกราฟ เราจะพยายามสำรวจโหนดทั้งหมดโดยใช้อัลกอริธึมการข้ามผ่านใดๆ หลังจากเสร็จสิ้นการข้ามผ่าน หากมีโหนดใดที่ไม่ได้เข้าชม กราฟจะไม่เชื่อมต่อ สำหรับกราฟที่ไม่มีทิศทาง เราจะเลือกหนึ่งโหนดและข้ามจากกราฟนั้น ในกรณีนี้ อัลกอริธึมการข้ามผ่านคือการข้ามผ่าน BFS แบบเรียกซ้ำ ป้อนข้อ
ในการตรวจสอบการเชื่อมต่อของกราฟ เราจะพยายามสำรวจโหนดทั้งหมดโดยใช้อัลกอริธึมการข้ามผ่านใดๆ หลังจากเสร็จสิ้นการข้ามผ่าน หากมีโหนดใดที่ไม่ได้เข้าชม กราฟจะไม่เชื่อมต่อ สำหรับกราฟกำกับ เราจะเริ่มสำรวจจากทุกโหนดเพื่อตรวจสอบการเชื่อมต่อ บางครั้งขอบด้านหนึ่งอาจมีขอบด้านนอกเพียงด้านเดียว แต่ไม่มีขอบด้านใน
ในการตรวจสอบการเชื่อมต่อของกราฟ เราจะพยายามสำรวจโหนดทั้งหมดโดยใช้อัลกอริธึมการข้ามผ่านใดๆ หลังจากเสร็จสิ้นการข้ามผ่าน หากมีโหนดใดที่ไม่ได้เข้าชม กราฟจะไม่เชื่อมต่อ สำหรับกราฟที่ไม่มีทิศทาง เราจะเลือกหนึ่งโหนดและข้ามจากกราฟนั้น ในกรณีนี้ อัลกอริธึมการข้ามผ่านคือการข้ามผ่าน DFS แบบเรียกซ้ำ ป้อนข้
ในส่วนนี้ เราจะมาดูวิธีเปรียบเทียบสองสตริงโดยใช้อัลกอริธึม Wagner และ Fisher เมื่อใช้อัลกอริทึมนี้ เราสามารถค้นหาจำนวนการเปลี่ยนแปลงขั้นต่ำที่จำเป็นเพื่อให้ตรงกับสตริงเหล่านั้น นี่เป็นแนวทางการเขียนโปรแกรมแบบไดนามิก ที่นี่เราวัดระยะทาง Levenshtein จากสองสาย Input: Two strings “Support”
ที่นี่เราจะดูว่าฟังก์ชันไลบรารีสตริงสามารถใช้เพื่อจับคู่สตริงใน C ++ ได้อย่างไร ที่นี่เราใช้การดำเนินการ find() เพื่อรับการเกิดขึ้นของสตริงย่อยในสตริงหลัก วิธี find() นี้จะคืนค่าตำแหน่งแรกที่พบสตริง เราใช้ฟังก์ชัน find() นี้หลายครั้งเพื่อให้ได้ผลลัพธ์ที่ตรงกันทั้งหมด หากพบรายการ ฟังก์ชันนี้จะคืนค่า
ใน C ++ เรามีสตริงในไลบรารีมาตรฐาน ในโปรแกรมนี้ เราจะมาดูวิธีการตรวจสอบว่าสองสตริงเหมือนกันหรือไม่ ในกรณีนี้ เราจะเพิกเฉยต่อกรณีนี้ นี่คือตรรกะง่ายๆ เราจะแปลงสตริงทั้งหมดเป็นสตริงตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ จากนั้นเปรียบเทียบและส่งคืนผลลัพธ์ เราใช้ไลบรารีอัลกอริทึมเพื่อรับฟังก์ชันการแปลงเพื่อแปลง
ที่นี่เราจะดูว่าฟังก์ชันไลบรารีสตริงสามารถใช้เพื่อจับคู่สตริงใน C ++ ได้อย่างไร ที่นี่เราใช้การดำเนินการ find() เพื่อรับการเกิดขึ้นของสตริงย่อยในสตริงหลัก วิธี find() นี้จะคืนค่าตำแหน่งแรกที่พบสตริง เราใช้ฟังก์ชัน find() นี้หลายครั้งเพื่อให้ได้ผลลัพธ์ที่ตรงกันทั้งหมด หากพบรายการ ฟังก์ชันนี้จะคืนค่า
ในโปรแกรมนี้ เราจะมาดูวิธีการแปลงจำนวนเต็มเป็นสตริงฐานสิบหก ในการแปลงจำนวนเต็มเป็นสตริงเลขฐานสิบหก เราสามารถทำตามขั้นตอนทางคณิตศาสตร์ได้ แต่ในกรณีนี้ เราได้แก้ไขปัญหานี้โดยใช้เคล็ดลับง่ายๆ ใน C / C ++ มีตัวระบุรูปแบบ %X มันพิมพ์ค่าของตัวแปรบางตัวในรูปแบบเลขฐานสิบหก เราได้ใช้ตัวระบุรูปแบบนี้เพื่อแปล
ที่นี่เราจะมาดูวิธีการแปลงสตริงตัวเลขเป็นข้อมูลประเภทจำนวนเต็ม เราสามารถแก้ปัญหานี้ได้โดยใช้ฟังก์ชัน atoi() ฟังก์ชันนี้ใช้สตริงเป็นอินพุตและแปลงเป็นข้อมูลจำนวนเต็ม ฟังก์ชัน atoi() มีอยู่ในไลบรารี Input: A number string “1234” Output: 1234 อัลกอริทึม Step 1: Take a number string Step 2:
ในส่วนนี้เราจะมาดูวิธีการแปลงสตริงเป็นตัวเลขและแปลงตัวเลขเป็นสตริง ตอนแรกเราจะมาดูวิธีการแปลงสตริงเป็นตัวเลข การแปลงสตริงเป็นตัวเลข เราจะมาดูวิธีการแปลงสตริงตัวเลขเป็นข้อมูลประเภทจำนวนเต็ม เราสามารถแก้ปัญหานี้ได้โดยใช้ฟังก์ชัน atoi() ฟังก์ชันนี้ใช้สตริงเป็นอินพุตและแปลงเป็นข้อมูลจำนวนเต็ม ฟังก์ชัน
ที่นี่เราจะมาดูวิธีการแยกจำนวนเต็มทั้งหมดออกจากสตริงใน C++ เราสามารถใส่สตริงที่มีตัวเลขและไม่มีตัวเลขได้ เราจะดึงค่าตัวเลขทั้งหมดออกมา เพื่อแก้ปัญหานี้ เราจะใช้คลาส stringstream ใน C++ เราจะตัดสตริงทีละคำแล้วลองแปลงเป็นข้อมูลประเภทจำนวนเต็ม หากแปลงเสร็จแล้ว จะเป็นจำนวนเต็มและพิมพ์ค่า Input: A strin
ในส่วนนี้ เราจะมาดูวิธีการสร้างสตริงตัวอักษรและตัวเลขแบบสุ่มโดยใช้ C++ เราให้บริการตัวอักษรพิมพ์เล็ก ตัวพิมพ์ใหญ่ และตัวเลข (0-9) โปรแกรมนี้สุ่มอักขระ จากนั้นสร้างสตริงสุ่ม Input: Here we are giving the string length Output: A random string of that length. Example “XSme6VAsvJ” อัลกอริทึม
ในโปรแกรมนี้ เราจะมาดูวิธีการเชื่อมข้อมูลประเภทสตริงและจำนวนเต็มใน C++ ในการต่อข้อมูลสตริงและจำนวนเต็ม เราต้องแปลงจำนวนเต็มเป็นสตริงก่อน ในการแปลงเราใช้สตริงสตรีม นี้มีคุณสมบัติบางอย่าง มันใช้ตัวเลขหรือสตริงแล้วทำให้เป็นสตริง Input: String “str” and Number 10 Output: Concatenated string
ที่นี่เราจะมาดูวิธีการเชื่อมหลายสตริงในหนึ่งบรรทัดใน C++ มีหลายวิธีในการทำเช่นนั้น วิธีที่ง่ายที่สุดคือการใช้ตัวดำเนินการบวก (+) สามารถเชื่อมสตริงโดยใช้ + เราสามารถใส่เครื่องหมาย + ระหว่างสองสตริงเพื่อให้เชื่อมกัน Input: Some strings “str1”, “str2”, “str3” Output:
ในโปรแกรมนี้ เราจะมาดูวิธีแยกสตริงที่คั่นด้วยเครื่องหมายจุลภาคใน C++ เราจะใส่สตริงที่มีข้อความอยู่ และคั่นด้วยเครื่องหมายจุลภาค หลังจากรันโปรแกรมนี้ มันจะแยกสตริงเหล่านั้นออกเป็นอ็อบเจกต์ประเภทเวกเตอร์ เราใช้ฟังก์ชัน getline() เพื่อแยกพวกมันออก ไวยากรณ์พื้นฐานของฟังก์ชันนี้มีลักษณะดังนี้: getline (
ในโปรแกรมนี้ เราจะมาดูวิธีการวนซ้ำอักขระแต่ละตัวของสตริงในภาษา C++ ในการวนซ้ำอักขระแต่ละตัว เราสามารถใช้การวนซ้ำตั้งแต่ 0 ถึง (ความยาวสตริง – 1) สำหรับการเข้าถึงอักขระ เราสามารถใช้ตัวดำเนินการตัวห้อย [ ] หรือฟังก์ชัน at() ของวัตถุสตริงได้ Input: A string “Hello World” Output: “Hell
ใน C++11 ขึ้นไป มีแนวคิดที่เรียกว่า Raw string ในสตริงเราใช้อักขระต่างกัน เช่น \n, \t เป็นต้น ซึ่งมีความหมายต่างกัน \n ใช้เพื่อคืนเคอร์เซอร์ไปยังบรรทัดถัดไป \t สร้างแท็บ ฯลฯ หากเราต้องการพิมพ์อักขระเหล่านี้ในเอาต์พุตโดยไม่เห็นผลของอักขระเหล่านี้ เราสามารถใช้โหมดสตริงแบบดิบได้ ในการสร้างสตริงให้เป็น
ในโปรแกรมนี้ เราจะมาดูวิธีการลบช่องว่างออกจาก std::string ใน C++ ในการลบสิ่งนี้ เราจะใช้ฟังก์ชัน remove() ด้วยฟังก์ชัน remove() นี้ จะใช้จุดเริ่มต้นและจุดสิ้นสุดของตัววนซ้ำ จากนั้นจึงรับอาร์กิวเมนต์ที่สามที่จะถูกลบออกจากออบเจกต์ iterator Input: A string "This is C++ Programming Language" O
ในโปรแกรมนี้ เราจะมาดูวิธีการลบเลขศูนย์ต่อท้ายออกจากสตริงในภาษา C++ บางครั้งสตริงอาจมีเลขศูนย์ต่อท้าย เช่น 00023054 หลังจากรันโปรแกรมนี้ มันจะส่งคืน 23054 เท่านั้น เลขศูนย์เริ่มต้นจะถูกลบออก Input: A string with trailing zeros “000023500124” Output: “23500124” อัลกอริทึม Step