<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>پست‌های انتشارات آموزش تایپ اسکریپت</title><link>https://virgool.ir/typescriptlearn/feed</link><description>در این انتشارات آموزش های تایپ اسکریپت منتشر میشود</description><language>fa</language><pubDate>2026-11-10 23:58:19</pubDate><image><url>https://files.virgool.ir/upload/publication/iyuhjxvrghhh/pncjfi.png</url><title>آموزش تایپ اسکریپت</title><link>https://virgool.ir/typescriptlearn</link></image><item><title>معرفی و آموزش هفت ساختار داده کلیدی در برنامه‌نویسی</title><link>https://virgool.ir/typescriptlearn/معرفی-و-آموزش-هفت-ساختار-داده-کلیدی-در-برنامه-نویسی-zbvoew5ojhla</link><description>ساختارهای داده یکی از بخش‌های اساسی در علوم کامپیوتر هستند که برای سازمان‌دهی و مدیریت داده‌ها مورد استفاده قرار می‌گیرند. این مقاله به معرفی هفت ساختار داده مهم شامل آرایه‌ها، لیست‌های پیوندی، هَش‌ مَپ‌ ها، پشته‌ها، صف‌ها، درخت‌ها و گراف‌ها می‌پردازد. همچنین در این مقاله برخی از مفاهیم با استفاده از مثال‌های تایپ‌ اسکریپت توضیح داده می‌شوند.1. آرایه‌ها (Arrays)تعریف: آرایه‌ها مجموعه‌ای از عناصر هستند که به ترتیب در حافظه قرار می‌گیرند و هر عنصر از طریق یک اندیس دسترسی‌پذیر است.مثال در تایپ‌اسکریپت:const numbers: number[] = [10, 20, 30, 40];&#xA;console.log(numbers[1]); // خروجی: 20&#xA;numbers.push(50); // افزودن عنصر&#xA;console.log(numbers); // خروجی: [10, 20, 30, 40, 50]کاربرد:ذخیره داده‌های متوالیدسترسی سریع به عناصر با اندیس---2. لیست‌های پیوندی (Linked Lists)تعریف: لیست‌های پیوندی مجموعه‌ای از گره‌ها هستند که هر گره شامل داده و اشاره‌گر به گره بعدی است.ساختار در تایپ‌اسکریپت:class Node {&#xA;  value: number;&#xA;  next: Node | null = null;&#xA;  constructor(value: number) {&#xA;    this.value = value;&#xA;  }&#xA;}&#xA;&#xA;class LinkedList {&#xA;  head: Node | null = null;&#xA;&#xA;  add(value: number): void {&#xA;    const newNode = new Node(value);&#xA;    if (!this.head) {&#xA;      this.head = newNode;&#xA;    } else {&#xA;      let current = this.head;&#xA;      while (current.next) {&#xA;        current = current.next;&#xA;      }&#xA;      current.next = newNode;&#xA;    }&#xA;  }&#xA;&#xA;  print(): void {&#xA;    let current = this.head;&#xA;    while (current) {&#xA;      console.log(current.value);&#xA;      current = current.next;&#xA;    }&#xA;  }&#xA;}&#xA;&#xA;const list = new LinkedList();list.add(10);&#xA;list.add(20);&#xA;list.add(30);&#xA;list.print(); // خروجی: 10, 20, 30کاربرد:درج و حذف سریعذخیره داده‌های پویا---3. هش‌مپ‌ها (Hash Maps)تعریف: هش‌مپ‌ها ساختارهایی برای ذخیره و دسترسی سریع به داده‌ها با استفاده از کلید هستند.مثال در تایپ‌اسکریپت:const hashMap: { [key: string]: number } = {};&#xA;hashMap[&#34;a&#34;] = 1;&#xA;hashMap[&#34;b&#34;] = 2;&#xA;&#xA;console.log(hashMap[&#34;a&#34;]); // خروجی: 1&#xA;delete hashMap[&#34;b&#34;];&#xA;console.log(hashMap); // خروجی: { &#34;a&#34;: 1 }کاربرد:ذخیره داده‌های کلید-مقدارجستجوی سریع4. پشته‌ها (Stacks)تعریف: پشته‌ها از اصل آخرین ورودی، اولین خروجی (LIFO) پیروی می‌کنند.مثال در تایپ‌اسکریپت:class Stack&lt;T&gt; {&#xA;  private items: T[] = [];&#xA;&#xA;  push(item: T): void {&#xA;    this.items.push(item);&#xA;  }&#xA;&#xA;  pop(): T | undefined {&#xA;    return this.items.pop();&#xA;  }&#xA;&#xA;  peek(): T | undefined {&#xA;    return this.items[this.items.length - 1];&#xA;  }&#xA;}&#xA;&#xA;&#xA;const stack = new Stack&lt;number&gt;();&#xA;stack.push(10);&#xA;stack.push(20);&#xA;console.log(stack.peek()); // خروجی: 20&#xA;console.log(stack.pop()); // خروجی: 20&#xA;console.log(stack.pop()); // خروجی: 10کاربرد:بازگشت از توابعمدیریت حافظه---5. صف‌ها (Queues)تعریف: صف‌ها از اصل اولین ورودی، اولین خروجی (FIFO) پیروی می‌کنند.مثال در تایپ‌اسکریپت:class Queue&lt;T&gt; {&#xA;  private items: T[] = [];&#xA;&#xA;&#xA;  enqueue(item: T): void {&#xA;    this.items.push(item);&#xA;  }&#xA;&#xA;  dequeue(): T | undefined {&#xA;    return this.items.shift();&#xA;  }&#xA;&#xA;&#xA;  front(): T | undefined {&#xA;    return this.items[0];&#xA;  }&#xA;}&#xA;&#xA;const queue = new Queue&lt;number&gt;();&#xA;queue.enqueue(10);&#xA;queue.enqueue(20);&#xA;console.log(queue.front()); // خروجی: 10&#xA;console.log(queue.dequeue()); // خروجی: 10&#xA;console.log(queue.dequeue()); // خروجی: 20کاربرد:صف‌های پردازشمدیریت منابع---6. درخت‌ها (Trees)تعریف: درخت‌ها ساختارهای سلسله‌مراتبی هستند که از گره‌هایی تشکیل شده‌اند.ساختار ساده در تایپ‌اسکریپت:class TreeNode {&#xA; value: number;&#xA;  left: TreeNode | null = null;&#xA;  right: TreeNode | null = null;&#xA;&#xA;  constructor(value: number) {&#xA;    this.value = value;&#xA;  }&#xA;}&#xA;&#xA;const root = new TreeNode(10);&#xA;root.left = new TreeNode(5);&#xA;root.right = new TreeNode(15);&#xA;&#xA;console.log(root); // ساختار درختیکاربرد:جستجوهای سریعمدیریت سلسله مراتب داده‌ها---7. گراف‌ها (Graphs)تعریف: گراف‌ها مجموعه‌ای از گره‌ها (راس‌ها) هستند که از طریق لبه‌ها به هم متصل می‌شوند.ساختار پایه در تایپ‌اسکریپت:class Graph {&#xA;  adjacencyList: { [key: string]: string[] } = {};&#xA;&#xA;  addVertex(vertex: string): void {&#xA;    if (!this.adjacencyList[vertex]) {&#xA;      this.adjacencyList[vertex] = [];&#xA;    }&#xA;  }&#xA;&#xA;  addEdge(vertex1: string, vertex2: string): void {&#xA;    this.adjacencyList[vertex1].push(vertex2);&#xA;    this.adjacencyList[vertex2].push(vertex1);&#xA;  }&#xA;  showGraph(): void {&#xA;    console.log(this.adjacencyList);&#xA;  }&#xA;}&#xA;const graph = new Graph();&#xA;graph.addVertex(&#34;A&#34;);&#xA;graph.addVertex(&#34;B&#34;);&#xA;graph.addEdge(&#34;A&#34;, &#34;B&#34;);&#xA;graph.showGraph(); // خروجی: { A: [&#34;B&#34;], B: [&#34;A&#34;] }کاربرد:مسیریابیمدل‌سازی شبکه‌هاساختارهای داده مانند ابزارهایی هستند که در پروژه‌های نرم‌افزاری استفاده می‌کنید. با درک کاربردها و پیاده‌سازی هر ساختار داده، می‌توانید کدنویسی بهینه‌تری داشته باشید. تمرین این ساختارها با استفاده از زبان‌هایی مانند تایپ‌اسکریپت، درک عمیق‌تری از آن‌ها فراهم می‌کند.</description><category>آموزش تایپ اسکریپت</category><author>طراحی سایت | سیداحمد</author><pubDate>Sat, 11 Jan 2025 16:23:24 +0330</pubDate></item></channel></rss>