»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
- °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
- Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
- °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
- ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
- »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
- »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
- Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
»ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0) | »óǰ Q&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³SW ÄÚµù ¿ª·®Àº ÀڷᱸÁ¶ ±¸Çö ´É·Â¿¡ ´Þ·Á ÀÖ´Ù. ¾î¶² ÀڷᱸÁ¶¸¦ »ç¿ëÇÏ´À³Ä¿¡ µû¶ó ±¸ÇöµÈ SWÀÇ ¼º´É°ú ±â´ÉÀÌ ´Þ¶óÁø´Ù. SW °³¹ßÀº class¿Í ÇÔ¼ö¸¦ ¸¸µå´Â °ÍÀÌ´Ù. main( ) ÇÔ¼ö´Â °¡´ÉÇÑ ÇÑ µ¥ÀÌÅÍ ÀÔ·Â, insert, delete, search µîÀÇ ´Ù¸¥ ÇÔ¼ö È£Ã⸸ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. SW ÄÚµù ´É·ÂÀº class¿¡ ¾î¶² ÇÔ¼ö¸¦ ¸¸µé°í ¾î¶² º¯¼ö¸¦ »ç¿ëÇÏ¿© ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÒ °Í¿¡ ´ëÇÑ design choice¸¦ ÀßÇÏ´Â ´É·ÂÀÌ´Ù. ¿¹¸¦ µé¸é search ÇÔ¼ö¸¦ ¸¸µé ¶§ classÀÇ public member ÇÔ¼ö·Î ¸¸µé °ÍÀÎÁö ¾Æ´Ï¸é ÀÏ¹Ý ÇÔ¼ö·Î ¸¸µé °ÍÀÎÁö¸¦ ¼±ÅÃ(choice)ÇØ¾ß ÇÑ´Ù.
C++ ¾ð¾î¸¦ ±¸»çÇÒ ¼ö ÀÖ¾î¾ß C++·Î µÈ ÀڷᱸÁ¶¸¦ °øºÎÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥Àº C++¸¦ »ç¿ëÇÏ¿© ±¸ÇöµÈ ¼Ò½º Äڵ带 Æ÷ÇÔÇϰí ÀÖ´Ù. ÀڷᱸÁ¶´Â ÀÌ·Ð °ú¸ñÀÌ ¾Æ´Ï¹Ç·Î °¢ ÀڷᱸÁ¶¿¡ ´ëÇÏ¿© ¼Ò½º Äڵ带 »ç¿ëÇÏ¿© ±¸ÇöÇϰí testÇÏ´Â ½Ç½ÀÀ¸·Î ½ÀµæÇØ¾ß ÇÑ´Ù. ÃßõÇÏ´Â ÀڷᱸÁ¶ ÇнÀ ¹æ¹ýÀº ´Ü¼øÈ÷ Á¦½ÃµÈ ¼Ò½º Äڵ带 º¸Áö ¸»°í ÇÊ¿äÇÑ ¼Ò½º Äڵ带 ÀÛ¼ºÇÏ´Â ¿¬½ÀÀ» ¹Ýº¹ÇÏ´Â °ÍÀÌ´Ù. ±×¸®°í Á¦½ÃµÈ ¼Ò½º Äڵ忡 »õ·Î¿î ±â´ÉÀ» Ãß°¡Çϰųª ¼º´ÉÀ» °³¼±ÇÏ´Â ¼Ò½º ÄÚµå º¯°æ ÀÛ¾÷À» ÅëÇÏ¿© ±¸Çö ´É·ÂÀ» Çâ»óÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.
ÀÌ Ã¥¿¡¼´Â ÀڷᱸÁ¶¿¡ ´ëÇÑ insert, delete, search µîÀ» ó¸®Çϱâ À§ÇÏ¿© ÀÔ·Â µ¥ÀÌÅ͸¦ ¹Þ¾Æ ÇØ´ç ÀڷᱸÁ¶¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ÁßÁ¡À» µÎ¾ú´Ù. ±¸ÇöÇϰíÀÚ ÇÏ´Â ÀڷᱸÁ¶¸¦ µ¿ÀÛ½Ã۱â À§ÇØ È¸é¿¡¼ µ¥ÀÌÅ͸¦ ÀÓÀÇ·Î ÀԷ¹ްųª ³¼ö¸¦ »ý¼ºÇÏ¿© ÀÚµ¿À¸·Î ÇØ´ç ÀڷᱸÁ¶¸¦ ¸¸µå´Â ¹æ¹ýÀ¸·Î ½Ç½ÀÇÏ´Â °ÍÀÌ È¿°úÀûÀÌ´Ù.
ÀڷᱸÁ¶¿Í ¾Ë°í¸®ÁòÀº º°°³ÀÇ ´Ù¸¥ ÁÖÁ¦°¡ ¾Æ´Ï°í ¸Å¿ì ¹ÐÁ¢ÇÏ¿© °ÅÀÇ ÇϳªÀÇ topicÀ̶ó°í »ý°¢ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¸é 2°³ÀÇ linked list¸¦ merge ÇÏ´Â ¾Ë°í¸®ÁòÀÇ ±¸ÇöÀº singly linked list, circular linked list, head node°¡ ÀÖ´Â circular linked list µî¿¡ µû¶ó ´Þ¶óÁø´Ù. Áï, classÀÇ data member º¯¼ö¸¦ ¾î¶»°Ô »ç¿ëÇÏ´À³Ä¿¡ µû¶ó ±¸Çö ¾Ë°í¸®ÁòÀÌ º¹ÀâÇØÁú ¼öµµ ÀÖ°í °£´ÜÇØÁú ¼öµµ ÀÖ´Ù. µû¶ó¼ ÀڷᱸÁ¶ÀÇ ¼³°è, ÀڷᱸÁ¶ÀÇ data representation¿¡ µû¶ó ¾Ë°í¸®ÁòÀÇ ¼º´Éµµ ´Þ¶óÁú ¼ö ÀÖ´Ù.
stack, queue, linked list, tree, hashingÀº C++ STL¿¡¼ Á¦°øÇϹǷΠ±»ÀÌ ÀڷᱸÁ¶¸¦ ¸¸µé Çʿ䰡 ¾ø´Ù°í ¿ÀÇØÇÒ ¼ö ÀÖ´Ù. C++ STLÀ» »ç¿ëÇÏ¸é ±¸ÇöÀÌ °£´ÜÇØÁú ¼ö´Â ÀÖÀ¸³ª ¼º´ÉÀÌ ¶³¾îÁú ¼ö ÀÖ´Ù. ÀÀ¿ë¿¡ µû¶ó C++ STLÀ» °¡Á®´Ù »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» ¼öµµ ÀÖ°í Á÷Á¢ hash map, heap µîÀ» ±¸ÇöÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ´õ ¿ì¼öÇÒ ¼öµµ ÀÖ´Ù.
ÀڷᱸÁ¶¿Í ¾Ë°í¸®Áò ³»¿ëÀ¸·Î ÀÌ Ã¥¿¡¼ ´Ù·çÁö ¸øÇÑ heap structure·Î¼ leftist tree, binomial heaps, Fibonacci heaps¿Í search structures·Î¼ AVL tree, 2-3 trees, 2-3-4 trees, red-black tree, B-tree, splay trees, digital search tree, trie¸¦ ÇнÀÇÏ¿© SW ÄÚµùÀÇ ÁøÁ¤ÇÑ °í¼ö°¡ µÇ±â¸¦ ¹Ù¶õ´Ù.
¸ñÂ÷1Àå ÀڷᱸÁ¶°¡ ÇÊ¿äÇÑ ÀÌÀ¯´Â?
1.1 Çà·Ä ¿¬»êÀ» ÇÏ´Â C ÇÁ·Î±×·¡¹Ö ¹®Á¦ 8
1.2 C++ class ÇÁ·Î±×·¡¹Ö 11
1.3 ¾Ë°í¸®Áò ±¸Çö 25
2Àå ¹è¿ ±â¹Ý ÀڷᱸÁ¶
2.1 Set°ú Bag ÀڷᱸÁ¶ 30
2.2 ArrayList¿Í Vector ÀڷᱸÁ¶ 34
2.3 Polynomial class 37
3Àå Stacks°ú Queues
3.1 C++ÀÇ Templates 48
3.2 Adaptive containers: Stack°ú Queue 50
3.3 Bag ÀڷᱸÁ¶ 52
3.4 Stack ÀڷᱸÁ¶ 56
3.5 Queue ÀڷᱸÁ¶ 58
3.6 Deque ÀڷᱸÁ¶ 62
3.7 ¹Ì·Î ã±â 62
3.8 StackÀ» ÀÌ¿ëÇÑ Postfix expression 71
3.9 Queen ¹®Á¦¿Í Knight tour ¹®Á¦ 76
4Àå Linked List
4.1 Sinlgy linked lists 78
4.2 C++·Î Linked List Ç¥Çö 79
4.3 Template linked list 80
4.4 Linked list iterators 81
4.5 Circular lists 91
4.6 Linked stacks°ú Queues 102
4.7 Linked list¸¦ »ç¿ëÇÑ Polynomial ó¸® 106
4.8 Available list¸¦ »ç¿ëÇÑ Polynomial ó¸® 114
4.9 Doubly linked lists 129
4.10 Generalized lists 136
4.11 Heterogeneous lists 146
5Àå Trees
5.1 Tree ¿ë¾î 160
5.2 Binary tree Ç¥Çö 162
5.3 Binary tree traversal°ú Tree iterations 165
5.4 Satisfiability ¹®Á¦ 179
5.5 Threaded binary trees 187
5.6 Heaps 198
5.7 Binary search trees 212
5.8 Sets Ç¥Çö 220
5.9 C++ STL map°ú Set 226
6Àå Graphs
6.1 Graph ¿ë¾î 228
6.2 Graph Ç¥Çö ±¸Á¶ 229
6.3 DFS¿Í BFS 239
6.4 ÃÖ¼Ò ºñ¿ë Spanning tree 240
6.5 Shortest paths 262
6.6 Activity networks 277
| Âü°í¹®Çå | 297 |
±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |