1. ¼÷Á¦ÀÇ ÁÖÁ¦¸¦ ±â¼ú
¡Ü C¾ð¾î ¾îÈÖ ºÐ¼®±â¸¦ ¼³°èÇÏ°í ÇÁ·Î±×·¥ ÇÑ´Ù.
¡Ü C¾ð¾îÀÇ ÅäÅ«ÀÇ Á¾·ù(¡°A Book on C¡± 4th edition Al Kelley & IraPohlÀÇ ºÎ·Ï B¸¦ Âü°í ÇÒ °Í)
¢¡ auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
¢¡ ½Äº°ÀÚ : ¾ËÆĺª ¶Ç´Â ¾ð´õ½ºÄÚ¾î ¶Ç´Â ¼ýÀÚ·Î ±¸¼ºµÈ ´Ü¾î·Î ù ÀÚ´Â ¾ËÆĺª ¹®ÀÚ³ª ¾ð´õ½ºÄÚ¾î·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù. ½Äº°Àڴ ù 31ÀÚ°¡ ±¸º° µÇ¾î¾ß Çϸç, ÀÎ½ÄµÈ ½Äº°ÀÚ´Â ½Éº¼ Å×ÀÌºí¿¡ ³Ö¾îÁ®¾ß ÇÑ´Ù.
¢¡ »ó¼ö : ½ÊÁø, ÆÈÁø, ½Ê À°Áø »ó¼ö¸¦ ºñ·ÔÇÏ¿© ¹®ÀÚÇü ½ºÆ®¸µ »ó¼öµéÀ» ±¸ºÐÇÑ´Ù.
¢¡ ÄÚ¸àÆ®¸¦ ó¸®ÇÑ´Ù.
¡Ü ±¸Çö¿¡ ÇÊ¿äÇÑ ÇÑ°è °ªµéÀ» Á¤ÇÒ °Í
¡Ü ÀÔ·ÂÀº ÀϹÝÀûÀÎ ÅؽºÆ®
¡Ü Ãâ·ÂÀº ¹ß°ß µÈ ÅäÅ«°ú ÅäÅ«Àº Á¾·ù, ¹ß°ß µÈ ÁÙ ¹øÈ£ µîÀÌ°í ¸ðµç ÀÔ·ÂÀÌ Ã³¸®µÈ ÈÄ¿¡´Â ½Éº¼ Å×À̺íÀ» ¾ËÆĺª ¼ø¼·Î Ãâ·ÂÇÑ´Ù.
2. ¹®Á¦ ÇØ°áÀ» À§ÇÑ °³·«Àû ¹æ¹ýÀ» Á¦½Ã
? ÅؽºÆ® ÆÄÀÏÀ» ÀÔ·Â ¹Þ¾Æ ÀÔ·Â ¹Þ¡¦(»ý·«)
3. ¼¼ºÎ ¹®Á¦¿¡ ´ëÇÑ ±¸Ã¼ÀûÀÎ ÇØ°á ¹æ¾È Á¦½Ã
4. ½ÇÇè
¨ç ÇÁ·Î±×·¥ÀÇ ¼Ò½º
|
, parent´Â ÀÙ ·Îµå¸¦ ¶æÇÏ°Ô µÈ´Ù. °°À» ¶§¿¡´Â ÀÌ¹Ì ´Ü¾î°¡ Á¸ÀçÇϹǷΠ´õ ½ÇÇàµÇÁö ¾Ê°í break¹®À» ÅëÇؼ Á¾·áÇÏ°Ô µÈ´Ù.
ÀÌ·¯ÇÑ °úÁ¤À¸·Î while¹®ÀÌ Á¾·áÇÏ°Ô µÇ¸é »ðÀÔÇÒ ³ëµåÀÇ À§Ä¡¸¦ ã¾ÒÀ¸¹Ç·Î, »ðÀÔÇÒ ³ëµåÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â parentÀÇ data¿Í ºñ±³ÇÏ¿© ¿ÞÂÊ ¶Ç´Â, ¿À¸¥ÂÊ¿¡ »ðÀÔÇÏ°Ô µÈ´Ù.
ÀÌ·¯ÇÑ °úÁ¤À» ÅëÇؼ binary tree°¡ Çü¼ºÇÏ°Ô µÈ´Ù.
ÆÄÀÏÀÇ ³¡ÀÌ µÇ°í, binary tree°¡ ´Ù ¸¸µé¾îÁö°Ô µÇ¸é, Ãâ·ÂÀ» ÇÏ°Ô µÈ´Ù. Ãâ·ÂÀº inorder ¹æ¹ýÀ» »ç¿ëÇÏ°Ô µÈ´Ù. inorder ¹æ¹ýÀº ¿ÞÂÊ ºÎºÐ Æ®¸®¸¦ ¸ÕÀú ó¸®ÇÏ°í, ÀÌ¾î¼ ·çÆ®¸¦ ó¸®Çϸç, ÃÖÁ¾ÀûÀ¸·Î ¿À¸¥ÂÊ ºÎºÐ Æ®¸®¸¦ ó¸®ÇÑ´Ù. ¿ÞÂÊ ºÎºÐ Æ®¸®°¡ ¸ÕÀú 󸮵Ǿî¾ß Çϱ⠶§¹®¿¡ ´Ù¸¥ ³ëµå¸¦ ó¸®Çϱâ Àü¿¡ ·çÆ®·ÎºÎÅÍ °¡Àå ¿ÞÂÊ¿¡ ÀÖ´Â ÀÙ ³ëµå·Î °¡±â À§ÇØ rootÀÇ left¸¦ ¸Å°³º¯¼ö·Î ÇÏ´Â µÇºÎ¸§ ÇÔ¼ö¸¦ ÅëÇؼ °¡Àå ¿ÞÂÊÀ¸·Î À̵¿ÇÑ´Ù. ±×·¡¼ Â÷·Ê´ë·Î ¿ÞÂÊ ºÎºÐ Æ®¸®ÀÇ ³ëµå¸¦ Ãâ·ÂÇÏ°í, ±×ÀÇ ºÎ¸ðÀÎ ³ëµå¸¦ Ãâ·Â, ¸¶Áö¸·À¸·Î ¿À¸¥ÂÊ ºÎºÐ Æ®¸®¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ýÀ¸·Î binary tree¿¡ ÀÖ´Â ´Ü¾îµéÀ» ¶óÀÎ ¼ö, ´Ü¾î¼ö¿Í ÇÔ²² ¸ðµÎ Ãâ·ÂÇÏ°Ô µÈ´Ù.
4. ½ÇÇè
¨ç ÇÁ·Î±×·¥ÀÇ ¼Ò½º
¡Ü scanner.c
#include
#include
#include
#define MAX 256
struct LIST
{
int word_num;
int line_num;
struct LIST *next;
};
struct NODE
{
char data[MAX];
struct LIST *plist;
struct NODE *left;
struct NODE *right;
};
void printNODE(struct NODE *);
void printLIST(struct LIST *);
void outputNODE(struct NODE *);