מבני נתונים ואלגוריתמים תרגול #11

Σχετικά έγγραφα
פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

חורף תש''ע פתרון בחינה סופית מועד א'

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

סיכום- בעיות מינימוםמקסימום - שאלון 806

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

Trie מאפשר חיפוש, הכנסה, הוצאה, ומציאת מינימום (לקסיקוגרפי) של מחרוזות.

Logic and Set Theory for Comp. Sci.

מתמטיקה בדידה תרגול מס' 5

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

מתמטיקה בדידה תרגול מס' 12

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

gcd 24,15 = 3 3 =

מתמטיקה בדידה תרגול מס' 13

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

תרגיל 13 משפטי רול ולגראנז הערות

. {e M: x e} מתקיים = 1 x X Y

ל הזכויות שמורות לדפנה וסטרייך

מודלים חישוביים תרגולמס 5

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

{ : Halts on every input}

תרגול מס' 6 פתרון מערכת משוואות ליניארית

גבול ורציפות של פונקציה סקלרית שאלות נוספות

logn) = nlog. log(2n

תרגול פעולות מומצאות 3

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

השאלות..h(k) = k mod m

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

שאלה 1 V AB פתרון AB 30 R3 20 R

מבני נתונים ואלגוריתמים תרגול #8-9

רשימת משפטים והגדרות

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

מודלים חישוביים פתרון תרגיל 5

אלגברה ליניארית (1) - תרגיל 6

Algorithms on Strings, Trees, and Sequences, Dan Gustfield Chapter 5, 7.3, 7.4, 7.17

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

מבני נתונים מבחן מועד ב' סמסטר חורף תשס"ו

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

אוטומטים- תרגול 8 שפות חסרות הקשר

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

אינפי - 1 תרגול בינואר 2012

סדרות - תרגילים הכנה לבגרות 5 יח"ל

3-9 - a < x < a, a < x < a

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

x a x n D f (iii) x n a ,Cauchy

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

תורת הגרפים - סימונים

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

מתמטיקה בדידה תרגול מס' 2

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

( k) ( ) = ( ) ( ) ( ) ( ) A Ω P( B) P A B P A P B תכונות: A ו- B ב"ת, אזי: A, B ב "ת. בינומי: (ההסתברות לk הצלחות מתוך n ניסויים) n.

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

co ארזים 3 במרץ 2016

אלגוריתמים בתורת הגרפים חלק ראשון

אלגברה לינארית מטריצות מטריצות הפיכות

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

למידה חישובית אלי דיין 1.

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.

תורת הקבוצות תרגיל בית 2 פתרונות

רשימת בעיות בסיבוכיות

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תורת הקבוצות ניר אדר ניר אדר.

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

תרגיל 7 פונקציות טריגונומטריות הערות

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

אלגברה לינארית (1) - פתרון תרגיל 11

אלגברה מודרנית פתרון שיעורי בית 6

אלגוריתמים ללכסון מטריצות ואופרטורים

(ספר לימוד שאלון )

The No Arbitrage Theorem for Factor Models ג'רמי שיף - המחלקה למתמטיקה, אוניברסיטת בר-אילן

אלגברה לינארית 2 משפטים וטענות

אלגברה ליניארית 1 א' פתרון 2

חידה לחימום. כתבו תכנית שהקלט שלה הוא מספר שלם n,

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

c ארזים 15 במרץ 2017

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

תורת ההסתברות 1 יובל קפלן סיכום הרצאות פרופ יורי קיפר בקורס "תורת ההסתברות 1" (80420) באוניברסיטה העברית,

Hash Tables (המשך) ערבול (Hashing)

הגדרה: מצבים k -בני-הפרדה

מערך תרגיל קורס סמסטר ב תשע ה בחשבון אינפיניטסימלי 2 למדעי המחשב

אלגברה ליניארית 1 א' פתרון 8

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

1 סכום ישר של תת מרחבים

Transcript:

מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ. קבוצת כל המחרוזות באורך סופי שניתן להרכיב מ Σ. ε Σ המחרוזת הריקה. מתקיים ש ε בעיית התאמת מחרוזות: רוצים למצוא את כל המופעים של P ב T. רוצים למצוא את כל האינדקסים )=היסטים( ב T כך ש לדוגמא: תהי X מחרוזת. נסמן ב X i את המחרוזת שמכילה את התווים מ עד i ב X ואורכה i. כלומר.X i = X[,,i] רישא: x רישא של y אם קיים z כך ש y xz = )=שרשור של x עם z(. סיפא: x סיפא של y אם קיים z כך ש y. zx = הגדרה נוספת של הבעיה: רוצים למצוא את כל ההיסטים m כך ש P סיפא של T. m האלגוריתם הנאיבי בודקים את כל ההיסטים שהאפשריים באמצעות לולאה שרצה מ i= עד.nm סיבוכיות: O(nm).O((nm+)m) אלגוריתם רביןקרפ מתייחסים למחרוזת כמספר )לפי ערך ה ASCII של התווים(. בגלל שמחרוזות הן מערכים, השוואה בין מחרוזות תלויה באורך n שלהם, ולכן זה לא קבוע.O(n) הרעיון נשתמש בפונקציית.hash נחשב את ערך ה hash של התבנית, ונשווה אותו לערך ה hash של כל תתיהמחרוזות בטקסט.

מימוש נאיבי: נחשב את H(P) לוקח O(m) ) m אורך התבנית(. עוברים על כל תתי המחרוזות t ב T, מחשבים את H(t) ומשווים ל( H(P..O(nm) שיפור: נשתמש ב Hash Rolling זוהי פונקציית Hash מיוחדת מחשבת את ערך ה Hash עבור תתהמחרוזת הראשונה ב T בזמן התבנית(, ואז מחשבת את תת המחרוזת הבאה מתוך תתהמחרוזת הראשונה ב( O( )כאורך O(m) וכך הלאה. סיבוכיות.O(n+m) אלגוריתם KMP על מנת להימנע מהשוואות מיותרות, נשתמש במידע שיש בתבנית P עצמה. מחשבים את פונקציית m. באורך P פונקציית הרישא עבור תבנית Π.) i<m )לכל P i היא סיפא של P j המקיים ש ) j<i( j האינדקס המקסימלי Π(i) = j P = a b a b c Π 3 4 5 דוגמא: ()Π. אין לכן = P. a= שהיא סיפא של P ε= צריך למצוא את הרישא הכי ארוכה של ()Π ()Π. אין לכן = P. =ab שהיא סיפא של P a= צריך למצוא את הרישא הכי ארוכה של ()Π.Π(3) לכן =,a P 3 =aba שהיא סיפא של P =ab צריך למצוא את הרישא הכי ארוכה של Π(3) וכן הלאה. הרעיון הכללי של האלגוריתם: מחפשים את P ב T. בכל פעם שיש איהתאמה, נסיט את P ימינה בהיסט הקטן ביותר האפשרי שמקיים שעדיין יש התאמה של התווים הראשונים ב P לבין התווים האחרונים ב T. האלגוריתם: KMP(P, T): q = i = while i < length(t) if T[i] == P[q] σ[i] = q i ++ q ++ if q == m print im q = Π(q) else if q> q = Π(q) + else i++

דוגמת הרצה: סיבוכיות:.O(m+n) הסברים נוספים: http://www.inf.fhflensburg.de/lang/algorithmen/pattern/kmpen.htm בנוסף, KMP יכול לחשב את σ פונקציית הסיפא..)<i n )לכל T i שהיא סיפא של P j הוא אורך הרישא המקסימלית של התבנית j σ(i) = j לדוגמא: T = a a a b a a c a a P = a a b a a σ 3 4 3 5 4 6 5 7 8 9.P 3 = a a b נחפש ב b T 4 = a a a את הסיפא המקסימלית שהיא רישא של P:.P 5 = a a b a a נחפש ב a T 6 = a a a b a את הסיפא המקסימלית שהיא רישא של :P אלגוריתם BM האלגוריתם משווה את התבנית מול תחילת הטקסט אך מתחיל את ההשוואה של מסוף התבנית עד לתחילתה. האלגורתם עושה preprocessing על התבנית ויוצר פונקציות. מטרתן לקדם את התבנית תוך כדי "דילוג" על תווים שאנחנו יודעים בודאות שהתבנית לא תימצא בהם. :Goodsuffix shift נבדוק את הסיפא של תתהמחרוזת שבה הייתה התאמה. נקדם את התבנית בבטחה כך שהתווים בהם הייתה התאמה עדיין זהים. נניח ששי איהאתמה בין x[i]=a לבין.y[i+j] = b כלומר יש התאמה בין הטקסט לתבנית מסוף התבנית עד ל i+ )תתמחרוזת u(. המטרה היא להזיז את התבנית כך שהמופע הבא הימני ביותר של u יהיה מול הטקסט במיקום.j+i+

אם אין תתמחרוזת כזאת, נזיז את התבנית כך שהסיפא הארוכה ביותר v של y[i+j+ j+m] תהיה מול הרישא המתאימה של התבנית. :Badchar shift המטרה להזיז את התבנית עד למופע הבא של התו y[i+j] בתבנית. אם אין, אפשר להזיז את כל התבנית מול.y[i+j+] האלגוריתם בוחר את הההזה המקסימלית מבין ה GSS וה BCS. סיבוכיות:.O(n+m) דוגמא והסברים נוספים: http://wwwigm.univmlv.fr/~lecroq/string/node4.html תרגילים הגדרה: נסמן ב T R את המחרוזת ההופכית של T )באורך n(, כלומר T(n)T(n) T() T. R =.T = T R פלינדרום אם T בהינתן מחרוזת T באורך n, תארו אלגוריתם שמוצא את אורך הרישא המקסימלית של T שהינה פלינדרום. לדוגמא אז נחזיר 6=j. אם x רישא של,T אז קיים y כך ש xy.t = לכן מתקיים.T R = y R x R אם x פלינדרום אז T R = y R x )גם הכיוון השני נכון(. לכן מספיק למצוא את הרישא הארוכה ביותר של T שהיא סיפא של T. R

נריץ KMP כך הטקסט שלנו הוא T R והתבנית היא T ונחזיר σ(n) ה= של j המקסימלית כך ש T j סיפא.T R n סיבוכיות: (n).o(m+n) = O(n) = )נאיבי: ).O(n נתונה מחרוזת T שאורכה n. תארו אלגוריתם המוצא חלוקה T = xyx כך ש y והאורך של x מקסימלי. *הערה תמיד קיימת חלוקה כזו, כיוון ש x יכולה להיות ε. y = דוגמא: מה יכול להיות האורך המקסימלי של x?. בדוגמא : =5 רוצים למצוא את הרישא המקסימלית של T באורך לכל היותר k שהיא גם סיפא של T. התווים האחרונים ב T. k והטקסט הוא T k כאשר התבנית היא KMP נריץ P T סיבוכיות:.O(n) דוגמא x = 5 הגדרה: מחרוזת 'T היא סיבוב מעגלי של מחרוזת T = t t t n אם קיים i n כך שמתקיים:. T' = t i t i+ t n t t t i דוגמא: c a r <> a r c נתונות מחרוזות 'T,T באורך n. תארו אלגוריתם הבודק האם 'T הינה סיבוב של T. נשים לב ש' T סיבוב מעגלי של T אם"ם 'T מופיע ב TT. TT = t t t 3 t i t i t i+ t i+ t n t t t i t i t n T'

נריץ KMP עם טקסט סיבוכיות: O(n).O(n+n) =.T' ותבנית TT נתונות מחרוזות X,Y באורך X n. אנגרמה של Y אם קיימת תמורה כך שמתקיים כתבו אלגוריתם שמקבל T ו P ו מוצא את כל תתי המחרוזות של T שהן אנגרמות של P. נריץ RB עם Rolling hash שמחשב את ערך ה Hash על המחרוזת ללא תלות בסדר האותיות ואז אם.RH(x) = RH(y) אנגרמות אז הן ו y x לדוגמא לכל אות נבחר מספר גדול N a )כדי שסכום מספרים יהיה ייחודי( ונגדיר: