The general idea is: when adding a new element (say "B") to any string (say, "A"), to catch all permutations you would add B to all possible positions (Ba, aB), resulting in a new set of strings. Then iterate: Add a new element (C) to each position in a string (AB becomes Cab, aCb, abC), for all strings (Cba, bCa, baC), and you have the set of permutations. Iterate over each result set with the next character until you run out of characters... or resources. 10 elements is 3.6 million permutations, roughly 48MB with the above algorithm, and 14 (unique) elements would hit 87 billion permutations and 1.163 terabytes.
I'm sure it could eventually be wedged into a CTE, but in the end all that would be is a glorified loop. The logic is clearer this way, and I can't help but think the CTE execution plan would be a nightmare.
ความคิดทั่วไป: เพิ่มองค์ประกอบใหม่ (พูด "B") เมื่อสายอักขระใด ๆ (พูด, "A"), การจับคุณจะเพิ่ม B ลงตำแหน่งได้ทั้งหมด (Ba, aB), สับในชุดใหม่ของสตริงการ แล้ว ย้ำ: เพิ่มองค์ประกอบใหม่ (C) แต่ละตำแหน่งในสายอักขระ (AB เป็น Cab, aCb, abC), สายอักขระทั้งหมด (Cba, bCa บัค), และคุณมีชุดของสับ วนซ้ำผ่านแต่ละผลลัพธ์ ด้วยอักขระถัดไปจนกว่าคุณรันจากตัวอักษร...หรือทรัพยากร 10 องค์ประกอบคือ 3.6 ล้านสับ ประมาณ 48MB กับขั้นตอนวิธีข้างต้น และองค์ประกอบ (เฉพาะ) ที่ 14 จะตีสับ 87 พันล้านและ 1.163 ไบต์
ผมแน่ใจว่า มันได้ในที่สุดได้ครีมบัวหิมะเป็น CTE เป็น แต่ในสุด ทั้งหมดที่จะเป็น glorified วน ตรรกะมีความคมชัดด้วยวิธีนี้ และฉันไม่สามารถช่วย แต่คิดว่า แผนการดำเนินการของ CTE จะฝันร้าย
การแปล กรุณารอสักครู่..
ความคิดทั่วไปคือเมื่อมีการเพิ่มองค์ประกอบใหม่ (พูด "B") กับสตริงใด ๆ (พูด, "") ที่จะจับพีชคณิตทั้งหมดที่คุณจะเพิ่ม B เพื่อตำแหน่งที่เป็นไปได้ทั้งหมด (Ba, AB) มีผลในชุดใหม่ ของสตริง แล้วย้ำเพิ่มองค์ประกอบใหม่ (C) ให้กับแต่ละตำแหน่งในสตริง (AB กลายเป็น Cab, ACB, ABC) สำหรับสตริงทั้งหมด (Cba เก็บกวาด, BAC) และคุณมีชุดของพีชคณิต ย้ำกว่าผลชุดที่มีตัวอักษรต่อไปจนกว่าคุณจะวิ่งออกมาจากตัวอักษรแต่ละ ... หรือทรัพยากร 10 องค์ประกอบเป็น 3600000 พีชคณิต, 48MB ๆ ด้วยวิธีข้างต้นและ 14 องค์ประกอบ (ไม่ซ้ำกัน) จะตี 87000000000 พีชคณิตและ 1.163 เทราไบต์ฉันแน่ใจว่ามันจะได้รับการแทรกลงใน CTE แต่ในท้ายที่สุดสิ่งที่จะเป็น เป็นห่วงสรรเสริญ ตรรกะเป็นที่ชัดเจนแบบนี้และผมก็ไม่สามารถช่วย แต่คิดว่าแผนปฏิบัติการ CTE จะเป็นฝันร้าย
การแปล กรุณารอสักครู่..
ความคิดทั่วไปคือ : เมื่อมีการเพิ่มองค์ประกอบใหม่ ( " B " ) เชือก ( พูด , " " ) , จับเพิ่มเงินทั้งหมดคุณจะต้องเพิ่ม B ไปยังตำแหน่งที่เป็นไปได้ทั้งหมด ( BA , AB ) ซึ่งในชุดใหม่ของสตริง แล้วย้ำ : เพิ่มองค์ประกอบใหม่ ( C ) แต่ละตำแหน่งในสตริง ( AB เป็น Cab , ACB , ABC ) สำหรับทุกสาย ( CBA BCA , BAC , ) , และคุณมีชุดของกฎการสลับที่นักพฤกษศาสตร์แต่ละผลชุดตัวละครต่อไปจนกว่าคุณจะหมดตัว . . . . . . . หรือทรัพยากร 10 องค์ประกอบ คือ 3.6 ล้านเข้าประมาณ 48MB ด้วยวิธีข้างต้น และ 14 ( เอกลักษณ์ ) องค์ประกอบจะตี 87 พันล้านและสามารถเข้า 1.163
ฉันว่ามันอาจจะถูกอัดอยู่ในพื้นฐาน แต่สุดท้าย ก็จะเป็นเกียรติของวง ตรรกะที่ชัดเจนแบบนี้และฉันไม่สามารถช่วย แต่คิดว่า ETC การดำเนินการวางแผนจะเป็นฝันร้าย .
การแปล กรุณารอสักครู่..