+ Konu Cevaplama Paneli
Gösterilen sonuçlar: 1 ile 2 ve 2

Konu: Linklisted, Queue, Stack, Trees???

  1. #1
    Dost edaa - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Sep 2008
    Mesajlar
    28

    Standart Linklisted, Queue, Stack, Trees???

    Data Structure için baslıktaki konuları içeren örnek uygulama anlatımıyla(anlatımı biraz basit olsa çok iyi olur) önerebileceğiniz internet üzerinden kaynak arıyorum birazcık acil.. Teşekkür ederim şimdiden..

  2. #2
    Ehil Üye zeet06 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jul 2008
    Mesajlar
    1.023

    Lightbulb

    SimilarŞu alt başlıkları gördünüz mü?


    Bir kaçını burada açalım:

    Data Structure -- Permutations

    What is a permutation?

    QUOTE
    Permutation is the rearrangement of objects or symbols into distinguishable sequences. Each unique ordering is called a permutation. For example, with the numerals one to six, each possible ordering consists of a complete list of the numerals, without repetitions. There are 720 total permutations of these numerals, one of which is: "4, 5, 6, 1, 2, 3".

    The general concept of permutation can be defined more formally in different contexts:

    * In set theory, a permutation is an ordered sequence containing each symbol from a set once, and only once. A permutation is distinct from a set or combination, in that the ordering of elements in a set is not considered relevant for sets or combinations. In other words, the set-theoretic definition of permutation is that of a one-to-one correspondence, or bijection, of labeled elements with "positions" or "places" which are arranged in a straight line.
    * In abstract algebra and related areas, the elements of permutation may not be arranged in a linear order, or indeed in any order at all. Under this refined definition, a permutation is a bijection from a finite set, X, onto itself. This allows for the definition of groups of permutations; see permutation group.
    * In combinatorics, the term permutation also has a traditional meaning which includes ordered lists without repetition and where one or more elements from the list are omitted from the distinguishable orderings; for example, a permutation of "1,2,4,3" with "5" and "6" omitted.



    Here i have one possible solution from my friend.... (Pallavi)
    1.Concat the input string with itself : manman
    2. initialise the ptr to first element
    3. Print it length of the string
    4. Move the ptr by one position ( keep incrementing till length times) and perform step 3
    5. reverse the whole string and repeat steps 2, 3, 4

    Any better solutions? WELCOME !!!
    ----
    ---
    CODE
    $tmp = array();
    $s = 'the string you wish to permute, in the example, e.g. man';
    $out = '';
    $ctr=0;

    function perm($ctr) {
    global $out;
    global $s;
    global $tmp;
    //echo $out;
    if ($ctr == strlen($s)) {
    echo $out . "\n";
    }
    else {
    for ($i=0;$i<strlen($s);$i++) {
    //echo 'a';
    if (!$tmp[$i]) {
    $tmp[$i]=TRUE;
    $out .= $s[$i];
    perm($ctr+1);
    $tmp[$i]=FALSE;
    $out = substr($out, 0, -1);
    }
    }
    }
    }

    perm(0);

    ----
    ----
    Implement a Queue using a stack.
    No restriction on space complexity.

    One possible Solutions
    a costly procedure...
    1. Use a temp stack
    2. Insertion into queue
    - Push the element into the original stack
    3. Deletion from queue
    - Pop all the elements from stack into a temp stack
    - pop out the first element from the temp stack
    - pop all the remaining elements back to the original stack

    QUOTE
    A queue is a particular kind of collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position and removal of entities from the front terminal position. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that whenever an element is added, all elements that were added before have to be removed before the new element can be invoked. A queue is an example of a linear data structure.

    Queue (data structure)

    From Wikipedia, the free encyclopedia


    Jump to: navigation, search
    Linear data structuresArray
    Deque
    Heap
    Linked list
    Queue
    Stack

    A queue (pronounced /kjuː/) is a particular kind of collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position and removal of entities from the front terminal position. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that whenever an element is added, all elements that were added before have to be removed before the new element can be invoked. A queue is an example of a linear data structure.
    Queues provide services in computer science, transport and operations research where various entities such as data, objects, persons, or events are stored and held to be processed later. In these contexts, the queue performs the function of a buffer.
    Queues are common in computer programs, where they are implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented languages as classes. Common implementations are circular buffers and linked lists.
    Contents




    Common operations from the C++ Standard Template Library include the following:
    bool empty() Returns True if the queue is empty, and False otherwise. T& front() Returns a reference to the value at the front of a non-empty queue. There is also a constant version of this function, const T& front(). void pop() Removes the item at the front of a non-empty queue. void push(const T& foo) Inserts the argument foo at the back of the queue. int size() Returns the total number of elements in the queue l

    Example C++ Program

    Based on an example in Ford and Topp Data Structures with C++ page 387.

    queue< char > theQueue; // creates a queue of chars named "theQueue"theQueue.push('a'); // theQueue now contains "a"theQueue.push('b'); // theQueue now contains "a b"theQueue.push('c'); // theQueue now contains "a b c"cout << "theQueue contains: a b c" << endl << endl;while( !theQueue.empty() ) // while the queue is not empty...{ cout << "Size = " << theQueue.size() << endl; // ...output queue size cout << "Value at front = " << theQueue.front() << endl << endl; // ...and output the first element value theQueue.pop(); // ...and remove it}


    Representing a Queue

    The defining attribute of a queue data structure is the fact that allows access to only the front and back of the structure. Furthermore, elements can only be removed from the front and can only be added to the back. In this way, an appropriate metaphor often used to represent queues is the idea of a checkout line (Ford/Topp p. 385). Other examples of queues are people traveling up an escalator, machine parts on an assembly line, or cars in line at a gas station. The recurring theme is clear: queues are essentially the same as a queue you would get in a shop waiting to pay.
    In each of the cases, the customer or object at the front of the line was the first one to enter, while at the end of the line is the last to have entered. Every time a customer finishes paying for their items (or a person steps off the escalator, or the machine part is removed from the assembly line, etc.) that object leaves the queue from the front. This represents the queue “dequeue” function. Every time another object or customer enters the line to wait, they join the end of the line and represent the “enqueue” function. The queue “size” function would return the length of the line, and the “empty” function would return true only if there was nothing in the line.
    kaynak:
    http://www.trap17.com/index.php/Data...ck_t53321.html

    http://en.wikipedia.org/wiki/Queue_%28data_structure%29

    Data Structures -- Expression Trees

    Construct an expression tree for the expression (a || && (c || d)

    After constructing the tree convert the tree to correspond to the associative property of the given expression.

    Eg: (1 + 2) * ( 3 + 4) = (1 * 3) + (1 * 4) + (2 * 3) + (2 * 4)

    Similar to that, from the constructed expression tree, construct a new expression tree such that inorder traversal of the new tree will be associative value of the given expression

    Inorder traversal of the new tree should be (a && c) || (a && d) || (b && c) || (b && d)

    Write a generic algorithm to convert the first tree to the second tree..

    What is an Expression Tree??
    Visit links below.
    http://www.brpreiss.com/books/opus5/html/page264.html
    http://www.cs.jhu.edu/~goodrich/dsa/05trees/Demo1/

    Tree Traversals
    Visit the below links for knowing more about tree traversals.
    http://en.wikipedia.org/wiki/Tree_traversal
    http://www.brpreiss.com/books/opus4/html/page260.html

    -----
    -----

    Daha Fazlası için

    Topics

    Keywords : data, structures, string, arrange, based, repetition, string, data, structure


    1. Data Structure -- Permutations
      <A style="TEXT-DECORATION: none" href="http://www.trap17.com/index.php/Data-Structure-Permutations_t53966.html">(1)
    2. Data Structure -- Queue -- Implement Using Stack
      Implement a Queue using a stack. No restriction on space complexity. One possible Solutions a
    1. costly procedure... 1. Use a temp stack 2. Insertion into queue - Push the element into the
      original stack 3. Deletion from queue - Pop all the elements from stack into a temp stack
      - pop out the first element from the temp stack - pop all the remaining elements back to the
      original stack What is a queue? QUOTE A queue is a particular kind of collection in which
      the entities in the collection are kept in order and the principal (or only) operation....
    2. Data Structure -- Trees -- Threaded Binary Tree
      A binary tree having a loop is known as a threaded binary tree. Have a look at the attachment to
      have an idea of a threaded binary tree.... A's right child is B and B's left child is A.
      Write an algorithm to find out whether the given tree is a threaded binary tree. Look for time
      and space complexity.....
    3. Data Structures -- Expression Trees
      Construct an expression tree for the expression (a || /cool.gif" style="vertical-align:middle"
      emoid="B)" border="0" alt="cool.gif" /> && (c || d) After constructing the tree convert the tree to
      correspond to the associative property of the given expression. Eg: (1 + 2) * ( 3 + 4) = (1 * 3) +
      (1 * 4) + (2 * 3) + (2 * 4) Similar to that, from the constructed expression tree, construct a new
      expression tree such that inorder traversal of the new tree will be associative value of the given
      expression Inorder traversal of the new tree should be (a && c) || (a && d) || (....
    4. Data Structure -- Arrays -- Odd Number Of Elements
      Given an array of elements with many numbers occurring even number of times and two numbers
      occurring odd number of times. Find out the two numbers that occur odd number of times. example:
      Elements in array -- 14433446 The expected result is 1 and 6 One solution 1. Find max of the
      array 2. Hash Function : element/max value 3. Repeat to all elements... 4. Find frequency... yo will
      get the 2 elements with odd frequency. but this is not the optimal.... Do find more solutions to
      this and post it. Look for time and space complexity. Another Solution one more s....
    5. Data Structures -- Linked List -- Point Of Merging
      Given two singly linked lists with both of them merging at some point. Find the position at which
      they merge. Eg: 1->30->50->65->2->59 88->46->65->2->59
      The above two linked lists merge at 65. Find this node where they merge.. Question
      Courtesy: Antony(Friend) One possible Answer A simple answer would be to find the length of
      both the linked lists and have two pointers, one for each linked list. Move (difference in lengths)
      steps in the longer linked lists and then start moving both the pointers by one every t....
    6. Data Structures -- String -- Palindrome
      Write an algorithm to check whether a given string is palindrome or not in time complexity O(n)
      What is a palindrome?? QUOTE A palindrome is a word, phrase, number or other sequence of units
      that has the property of reading the same in either direction (the adjustment of punctuation and
      spaces between words is generally permitted). Composing literature in palindromes is an example of
      constrained writing. The word "palindrome" was coined from Greek roots palin
      (πάλιν; "back") and dromos (δρóμος; "way,
      direction") by....
    7. Data Structures -- Linked List -- Reverse
      Give an algorithm to reverse a linked list with a time complexity of O(n) and minimal space
      complexity. What is a linked list? Search trap17.com. i Have already answered this question in
      one of my older questions. Solution 1 Here is one simple solution... CODE Void
      ReverseList(node* head) { node *temp,*current,*result; temp=null; result=null;
      current=head; while(current!=null) { temp=current->next;
      current->next=result; result=current; current=temp; } head=result;
      The above was suggested by m....
    8. Data Structures -- Binary Tree -- Structurally Same
      Given two binary trees, find out whether a tree is structurally same to the other. Structurally same
      means that the two trees look alike or a tree looks alike a subtree of the other tree. Look for
      time and space complexity. Some more for readers What is a binary tree? QUOTE A binary
      tree is made of nodes, where each node contains a "left" pointer, a "right" pointer, and a data
      element. The "root" pointer points to the topmost node in the tree. The left and right pointers
      recursively point to smaller "subtrees" on either side. A null pointer represents a binary....
    9. Data Structures -- Linked List
      Given a linked list, find the 5th last element with Time complexity O(n) and minimal space
      complexity. Note: If you know the answer and if you feel it is simple also please post the
      answers so that others will come to know about the answers. What is a linked list?? /* this is for
      your further reference and reading */ QUOTE In computer science, a linked list is one of the
      fundamental data structures, and can be used to implement other data structures. It consists of a
      sequence of nodes, each containing arbitrary data fields and one or two references ("links") po....
    10. Data Structures -- Binary Tree -- Mirror Image
      Given a binary tree, write an algorithm to find its mirror image with minimal time and space
      complexities. Note: If you know the answer and if you feel it is simple also please post the
      answers so that others will come to know about the answers. This question was sent by my friend
      through mail. Solutions Suggested Sol 1 CODE void PrintMirror(node *root) {
      if(node!=NULL) PrintMirror(root->right); Printf(root->data);
      PrintMirror(root->left); } In case of implementation using array 2i+1 stores left child
      of ith node and 2i+2 store....
    11. Data Structure Questions
      Question 1 Reply the solutions if you have any so that we can discuss... Given an array of n
      elements (containing only positive numbers) and sum, X. Find the first two elements in the array
      that sum upto X eg: Array of elements - {2, 3,1000, 200, 51, 88, 29, 49, 65, 40, 98, 12, 3}
      Sum - 100. The answer for the above sample is 51, 49. There are other possiblities
      also, but the first two numbers summing upto the given sum, 100 should be taken. How will you do
      this with minimal space and time complexities? Question 2 Given two nodes of ....
    12. Limiting Returned Data To Last X Fields With Sql
      Hello, I'm currently developing a social-networking site in ColdFusion and several aspects of
      the site require me to return a limited number of records for display (e.g. displaying the last 3
      news items in the left-hand column on the front page, etc.). I currently only have a small SQL
      "cheet sheet" and what my ColdFusion reference book tells me, and I cannot find anything anywhere
      about limiting the data returned from a SELECT statement to the last X number of records. Any help
      is appreciated! Thanks, zeeman48....
    13. A Question About Data Collecting Program
      does anyone know which programming language is used to make applications like those used in shops
      and malls where the sales assistant will enter name of a product and all its details will come up
      and whn someone makes a purchase the details will go to a database , i need to know which language
      is used and also which platform is used ,thanks in advance /laugh.gif"
      style="vertical-align:middle" emoid=":lol:" border="0" alt="laugh.gif" /> Please read the rules.
      The What Is..? forum is for answering a common question or telling everybody about what
      interesting fact you ....
    14. Case Based Reasoning
      Its a great programme and I was looking for it... I couldnt really found how to make that machine so
      can anyone tell me how to programme it, or can anyone show me where can I get a machine of it?....


+ Konu Cevaplama Paneli

Konu Bilgileri

Users Browsing this Thread

Şu an 1 kullanıcı var. (0 üye ve 1 konuk)

     

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
Yemek Tarifleri ListeNur.de - islami siteler listesi
Google Grupları
RisaleForum grubuna abone ol
E-posta:
Bu grubu ziyaret et

Search Engine Friendly URLs by vBSEO 3.6.0