Logic tuyến tính là gì

Cấu trúc dữ liệu có thể được định nghĩa là sự giải thích mối quan hệ logic tồn tại giữa các yếu tố đơn độc của dữ liệu. Cấu trúc dữ liệu tuyến tính và phi tuyến tính là phân loại cấu trúc dữ liệu đi theo cấu trúc dữ liệu Không nguyên thủy. Sự khác biệt quan trọng giữa chúng là cấu trúc dữ liệu tuyến tính sắp xếp dữ liệu thành một chuỗi và tuân theo một số thứ tự. Trong khi đó, cấu trúc dữ liệu phi tuyến tính không tổ chức dữ liệu theo cách tuần tự.

Cấu trúc dữ liệu tuyến tính là cấu trúc dữ liệu cấp đơn trong khi cấu trúc dữ liệu phi tuyến là cấu trúc dữ liệu đa cấp. Cấu trúc dữ liệu mô tả trước cách thức dữ liệu được tổ chức, truy cập, liên kết và xử lý.

Biểu đồ so sánh

Cơ sở để so sánhCấu trúc dữ liệu tuyến tínhCấu trúc dữ liệu phi tuyến tính
Căn bảnCác mục dữ liệu được sắp xếp một cách có trật tự trong đó các phần tử được đính kèm một cách ngẫu nhiên.Nó sắp xếp dữ liệu theo thứ tự được sắp xếp và tồn tại mối quan hệ giữa các yếu tố dữ liệu.
Truyền dữ liệuCác yếu tố dữ liệu có thể được truy cập trong một lần (chạy một lần).Di chuyển các yếu tố dữ liệu trong một lần là không thể.
Dễ thực hiệnĐơn giản hơnPhức tạp
Cấp độ liên quanCấp mộtNhiều cấp độ
Ví dụMảng, hàng đợi, ngăn xếp, danh sách liên kết, vvCây và đồ thị.
Sử dụng bộ nhớKhông hiệu quảCó hiệu lực

Định nghĩa cấu trúc dữ liệu tuyến tính

Cấu trúc dữ liệu được coi là tuyến tính nếu các thành phần dữ liệu xây dựng một chuỗi danh sách tuyến tính. Các yếu tố được gắn liền với nhau và theo một thứ tự xác định. Nó tiêu thụ không gian bộ nhớ tuyến tính, các yếu tố dữ liệu được yêu cầu để lưu trữ một cách tuần tự trong bộ nhớ. Trong khi thực hiện cấu trúc dữ liệu tuyến tính, lượng bộ nhớ cần thiết được khai báo trước đó. Nó không sử dụng tốt bộ nhớ và dẫn đến lãng phí bộ nhớ. Phần tử dữ liệu được truy cập tuần tự trong đó chỉ có thể tiếp cận trực tiếp một phần tử.

Các ví dụ được bao gồm trong cấu trúc dữ liệu tuyến tính là mảng, ngăn xếp, hàng đợi, danh sách được liên kết, v.v ... Mảng là một nhóm gồm một số lượng nhất định các phần tử đồng nhất hoặc các mục dữ liệu. Ngăn xếphàng đợi cũng là một tập hợp các phần tử được sắp xếp theo thứ tự như một mảng nhưng có một điều kiện đặc biệt trong đó ngăn xếp theo thứ tự LIFO (Lần cuối ra trước) và hàng đợi sử dụng FIFO (Đầu tiên vào trước) để chèn và xóa các phần tử. Danh sách có thể được định nghĩa là một tập hợp các mục dữ liệu số biến.

Định nghĩa cấu trúc dữ liệu phi tuyến tính

Cấu trúc dữ liệu phi tuyến tính không sắp xếp dữ liệu liên tiếp thay vào đó nó được sắp xếp theo thứ tự sắp xếp. Trong đó, các yếu tố dữ liệu có thể được gắn vào nhiều hơn một yếu tố thể hiện mối quan hệ phân cấp liên quan đến mối quan hệ giữa trẻ, cha mẹ và ông bà. Trong cấu trúc dữ liệu phi tuyến tính, việc truyền tải các yếu tố dữ liệu và chèn hoặc xóa không được thực hiện tuần tự.

Cấu trúc dữ liệu phi tuyến tính sử dụng bộ nhớ một cách hiệu quả và không yêu cầu khai báo bộ nhớ trước. Có hai ví dụ phổ biến về cấu trúc dữ liệu phi tuyến tính - câyđồ thị . Một cấu trúc dữ liệu cây tổ chức và lưu trữ các thành phần dữ liệu trong mối quan hệ phân cấp.

Sự khác biệt chính giữa cấu trúc dữ liệu tuyến tính và phi tuyến tính

  1. Trong cấu trúc dữ liệu tuyến tính, dữ liệu được sắp xếp theo thứ tự tuyến tính trong đó các phần tử được liên kết với nhau. Ngược lại, trong cấu trúc dữ liệu phi tuyến tính, các phần tử dữ liệu không được lưu trữ theo cách thức liên tiếp thay vì các phần tử có liên quan theo thứ bậc.
  2. Việc truyền tải dữ liệu trong cấu trúc dữ liệu tuyến tính rất dễ dàng vì nó có thể làm cho tất cả các yếu tố dữ liệu được truyền tải trong một lần, nhưng tại một thời điểm chỉ có một yếu tố có thể truy cập trực tiếp. Ngược lại, trong cấu trúc dữ liệu phi tuyến tính, các nút không được truy cập tuần tự và không thể đi qua một lần.
  3. Các phần tử dữ liệu được gắn liền trong cấu trúc dữ liệu tuyến tính, có nghĩa là chỉ có hai phần tử có thể được liên kết với hai phần tử khác trong khi đây không phải là trường hợp trong cấu trúc dữ liệu phi tuyến tính trong đó một phần tử dữ liệu có thể được kết nối với nhiều phần tử khác.
  4. Các cấu trúc dữ liệu tuyến tính được thực hiện dễ dàng liên quan đến cấu trúc dữ liệu phi tuyến tính.
  5. Một mức độ duy nhất của các yếu tố được kết hợp trong cấu trúc dữ liệu tuyến tính. Ngược lại, cấu trúc dữ liệu phi tuyến tính bao gồm nhiều cấp độ.
  6. Ví dụ về cấu trúc dữ liệu tuyến tính là mảng, hàng đợi, ngăn xếp, danh sách được liên kết, v.v ... Ngược lại, cây và biểu đồ là các ví dụ về cấu trúc dữ liệu phi tuyến tính.
  7. Bộ nhớ được sử dụng hiệu quả trong cấu trúc dữ liệu phi tuyến tính trong đó cấu trúc dữ liệu tuyến tính có xu hướng lãng phí bộ nhớ.

Phần kết luận

Các cấu trúc dữ liệu tuyến tính liên quan đến một cấp độ duy nhất của các yếu tố dữ liệu và biểu thị mối quan hệ tuyến tính. Mặt khác, cấu trúc dữ liệu phi tuyến tính được cho là cấu trúc dữ liệu đa cấp tạo thành mối quan hệ phân cấp giữa các dữ liệu.

Những công cụ của sự sáng tạo (Phần 2)

Viết bởi RobinB Creative – Nguồn: //link.medium.com/ELm6xDZSM5

Đố vui: Có sáu quả trứng trong rổ. Sáu người đi qua – mỗi người lấy một quả trứng. Hỏi tại sao vẫn còn một quả trứng trong rổ?

Trong bài viết trước, tôi đã giới thiệu về Mind Maps. Tuần này, hãy tìm hiểu về Tư duy phi tuyến tính.

Mong các bạn nhớ rằng: Việc tư duy dù ở dạng nào đi nữa cũng không phải là sự sáng tạo. Bởi vì sáng tạo đòi hỏi phải tạo ra một điều gì đó mới. Tuy nhiên, tư duy, cụ thể là “tư duy khác biệt”, là một nhân tố quan trọng hoặc một công cụ của quá trình sáng tạo.

Tư duy phi tuyến tính thật ra chẳng phải điều gì mới lạ. Loại hình tư duy này đã tồn tại cả ngàn năm và được sử dụng mỗi ngày dưới dạng châm ngôn của Phật giáo hoặc những câu đố vui.

Để giải được câu đố bên trên bạn phải sử dụng phương pháp tư duy phi tuyến tính, tên gọi này được đặt bởi Edward de Bono vào năm 1967. May mắn thay cho chúng ta, De Bono không chỉ làm mỗi việc đặt tên cho một lối tư duy đã tồn tại trước đó mà ông còn phân tích, định nghĩa và tinh chỉnh nó, đồng thời trình bày những cách thức để thực hành tư duy phi tuyến tính.

Tư duy tuyến tính/Tư duy đường thẳng được thực hiện trên một đường thẳng trí tuệ, tuân theo một logic mà ở đó câu đố trên sẽ không thể giải quyết được. Tư duy tuyến tính đưa ra câu trả lời đơn giản rằng “Nếu sáu người lấy sáu quả trứng, vậy thì 6-6=0. Cho nên sẽ không còn lại quả trứng nào trong rồ cả”.

Mặt khác, tư duy phi tuyến tính lại nhìn câu hỏi ở một khía cạnh khác và đi đến kết luận rằng điều này không những có thể xảy ra mà còn khá hiển nhiên. Thực tế, khi tôi nói với bạn câu trả lời, bạn có lẽ sẽ tự hỏi rằng tại sao mình lại không nghĩ ra câu trả lời sớm hơn (trong trường hợp bạn không nghĩ ra được câu trả lời thôi nhé).

Đáp án: Người thứ sáu lấy luôn cả rổ và trứng.

Tư duy tuyến tính/Tư duy đường thẳng đi từ A, đến B, đến C và tương tự như vậy cho đến khi có được kết luận cuối cùng. Mong bạn không hiểu nhầm ý tôi rằng tư duy tuyến tính là tồi tệ, mà ngược lại nó có một ý nghĩa rất quan trọng. Không có tư duy tuyến tính thì hầu hết các nhà toán học, khoa học, logic học, v.v sẽ không tồn tại. Trẻ con học những điều như “lửa gây bỏng vậy nên đừng đụng vào chúng” bằng tư duy tuyến tính. Tư duy tuyến tính giúp nhận biết nguyên nhân và kết quả trực tiếp.

Tuy nhiên, tương tự như sự tiện dụng mà nó mang lại, tư duy tuyến tính cũng có những giới hạn. Chúng ta sẽ có thể nhận thấy những giới hạn này khi đối mặt với các tình huống phức tạp hoặc nan giải. Sau đây là một câu đố khác để bạn thấy rõ điều này:

Câu hỏi: Bạn đang lái một chiếc xe hơi thể thao chỉ có hai chỗ ngồi trong một đêm đông mưa bão. Bạn nhìn thấy một trạm dừng chân, ở đó có 3 người cần đi nhờ xe:

1/ Một cụ bà lớn tuổi bị ốm nặng đang cần đến bệnh viện gấp.

2/ Một người bạn cũ đã từng cứu sống bạn

3/ Một người bạn đời hoàn hảo như thể vừa bước ra từ giấc mơ của bạn (ừ thì cứ cho là bạn biết được điều này thông qua cái nhìn đầu tiên đi).

Nhưng xe bạn chỉ còn trống một chỗ. Vậy bạn sẽ lựa chọn thế nào?

Theo như cách tư duy tuyến tính thông thường, một chỗ trống đồng nghĩa với việc bạn chỉ có thể giúp một người, nghĩ theo hướng này thì nhu cầu/mong muốn giúp nhiều hơn một người là bất khả thi, hoặc ít nhất nó trở thành tình huống phức tạp về mặt trí tuệ và đạo đức. Một lần nữa, tư duy tuyến tính nói với bạn rằng bạn không thể giúp tất cả mọi người.

Tuy nhiên, tư duy phi tuyến tính không theo thứ tự A => B => C => Kết luận. Thay vào đó, tư duy phi tuyến tính sẽ tương tự như: A => B => X => Kết luận.

Để hiểu rõ hơn, hãy đọc câu trả lời của câu đố trên:

Đáp án: Bạn đưa xe để bạn mình chở bà cụ đến bệnh viện trong khi ngồi chờ xe buýt cùng người bạn gái/trai lý tưởng.

Tư duy phi tuyến tính có cùng điểm xuất phát, cùng giải quyết những vấn đề có cùng hằng số và biến số như tư duy tuyến tính. Tuy nhiên, tuy duy phi tuyến tính không bị giới hạn bởi cùng một giả định như tư duy tuyến tính.

Trong câu đố thứ nhất, tư duy phi tuyến tính phá vỡ giả định rằng các quả trứng phải được đưa ra khỏi rổ. Và trong câu đố thứ hai, tư duy phi tuyến tính phá vỡ giả định rằng bạn phải tiếp tục ở lại trong xe.

Tư duy phi tuyến tính không mù quáng tin theo những giả định của tư duy tuyến tính.

Nhiều năm trước, khi tôi lần đầu tiên tiếp xúc với tư duy phi tuyến tính, tôi nhớ rằng mình đã cảm thấy cực kỳ thu hút và đồng thời cũng khá sợ hãi với nó. Tư duy phi tuyến tính lạ lẫm như thể sinh vật ngoài hành tinh nếu so sánh với quá trình tư duy thông thường của tôi. Tôi thật sự nghi ngờ rằng liệu bản thân có thể kiểm soát nổi tư duy phi tuyến tính.

Sau đó, tôi đọc được một điều ngay lập tức khiến tôi nhẹ nhõm.

Hầu hết các câu chuyện gây cười bởi vì chúng sử dụng tư duy phi tuyến tính.

Ví dụ: như hình.

Hầu hết các chuyện cười đều được tạo bởi hai phần – phần thiết lập (setup) và phần gây cười (punchline). Phần thiết lập dẫn dắt chúng ta hướng đi theo một lộ trình được chuẩn bị sẵn A => B => C để rồi sau đó đột ngột chuyển sang phần gây cười mà chúng ta không ngờ đến => 42.

Sau đây là một ví dụ khác sử dụng phương thức gây cười bằng tư duy phi tuyến tính:

Joke: Tôi đã cầu xin Chúa ban cho mình một chiếc xe đạp. Nhưng tôi biết Ngài không làm như vậy. Thế nên tôi lấy trộm một chiếc và cầu xin Chúa tha thứ.

Tôi cho rằng tất cả chúng ta đều rất quen thuộc với tư duy phi tuyến tính và chúng ta đã tiếp cận với nó từ khi nghe hoặc kể những câu chuyện cười đầu tiên lúc còn là những đứa trẻ.

Những câu nói đùa có cùng cách thức A => B => X => Yếu tố gây cười/Cách giải quyết như tư duy phi tuyến tính. Những câu nói đùa chính là hình thức tư duy phi tuyến tính trong cuộc sống hàng ngày. Điều này có nghĩa là tư duy phi tuyến tính là một phần quen thuộc và dễ nhận biết đối với não bộ của chúng ta.

Vì vậy, bí quyết ở đây không phải là tạo ra phương thức tư duy mới, mà là tái sử dụng chúng cho những lĩnh vực khác thay vì nói đùa. Một phần thưởng tiềm ẩn khi bạn thực hành tư duy phi tuyến tính đó là bạn sẽ giỏi hơn trong việc kể chuyện cười.

Đến đây thì tôi chắc rằng bạn đã có hiểu biết cơ bản về tư duy phi tuyến tính rồi nên tôi sẽ kết thúc bài viết với một số thông tin về việc sử dụng tư duy phi tuyến tính cho một cái gì đó khác hơn là những câu chuyện cười và câu đố.

Khi nào nên sử dụng tư duy phi tuyến tính

Để giải quyết vấn đề

“Bạn không thể tạo nên một cái hố khác bằng cách đào sâu hơn một cái hố đã có sẵn”. – Edward de Bono

Thoạt nhìn, câu nói trên có vẻ hơi lạ. Tuy nhiên, hãy để tôi làm rõ nó bằng hai trích dẫn của Albert Einstein – mặc dù trích dẫn đầu tiên có lẽ chỉ là giả mạo.

“Điên rồ là khi lặp đi lặp lại một việc và mong đợi những kết quả khác nhau”

“Chúng ta không thể giải quyết vấn đề bằng cách sử dụng cùng một loại tư duy mà chúng ta đã dùng để tạo ra vấn đề đó”

Đã bao nhiêu lần bạn áp dụng điều “điên rồ” này vào các quy trình giải quyết vấn đề và tìm kiếm ý tưởng mới?

Chúng ta dường như đã tự thuyết phục chính mình rằng suy nghĩ hoặc làm việc chăm chỉ hơn, theo cùng một phương thức chúng ta vẫn luôn sử dụng, bằng cách nào đó sẽ giải quyết vấn đề. Nói cách khác, chúng ta cố gắng tạo nên một cái hố khác, bằng cách đào sâu hơn cái hố sẵn có.

Để tìm ra những con đường mới

Đôi khi những gì chúng ta cần trong cuộc sống, không phải là một phát minh mới, hay ý tưởng kinh doanh sáng tạo, mà là một cách sống khác. Tất cả chúng ta đều sống theo những cách nhất định hoặc do chúng ta tự quyết định hoặc do chúng ta được dạy rằng đó là “cách sống đúng đắn” hoặc đơn giản do chúng ta “rơi” vào đó.

Cho dù lý do là gì, cuộc sống của chúng ta đều có tiềm năng trở nên tốt hơn, theo nhiều cách khác nhau.

Hãy thử sử dụng tư duy phi tuyến tính để tìm ra những cách thức mới giúp mối quan hệ với vợ/chồng, gia đình hoặc đồng nghiệp của bạn trở nên tốt hơn.

Tại sao không sử dụng tư duy phi tuyến tính để tìm và áp dụng những phương thức phát triển bản thân?

Điều gì sẽ xảy ra nếu bạn sử dụng tư duy phi tuyến tính để khiến việc kinh doanh của bạn không giống như mọi người khác?

Để phát minh và Đổi mới

Không quan trọng bạn làm gì, ở đâu hoặc tại sao bạn làm điều đó hay bạn làm điều đó cho ai – những ý tưởng, sản phẩm, phương pháp đổi mới, sáng tạo luôn luôn cần thiết. Điều này đúng trong mọi lĩnh vực đời sống.

Nếu bạn là một nhà phát minh, hoặc người sáng tạo dưới bất kỳ hình thức nào, bạn sẽ biết rằng nó rất khó để sáng tạo, đổi mới ý tưởng, khái niệm, bao bì, phương pháp, tác phẩm nghệ thuật, v.v. – đặc biệt là khi bị giới hạn bởi deadline.

Tư duy phi tuyến tính sẽ giúp đào tạo não bộ bằng việc thúc đẩy nhận thức, sự sáng tạo và đổi mới theo yêu cầu.

Làm cách nào để sử dụng tư duy phi tuyến tính

Edward de Bono đã nêu ra bốn loại công cụ tư duy phi tuyến tính khác nhau (Có lẽ tôi sẽ viết một bài riêng cho phần này):

1. Công cụ tạo ý tưởng – Đây là những công cụ tư duy phi tuyến tính giúp suy nghĩ của bạn “nhảy” ra khỏi ra lối mòn.

2. Công cụ tập trung – Mục đích của các công cụ tư duy phi tuyến tính này là thay đổi sự tập trung tinh thần của bạn, do đó mở ra cho bạn những khả năng mới trong khi tìm kiếm những ý tưởng mới và khác biệt.

3. Công cụ thu thập – Xem xét các ý tưởng hiện có để tối đa hóa giá trị của những ý tưởng đó.

4. Công cụ nghiên cứu – Thông thường, những ý tưởng mới được tìm thấy bằng phương pháp “tư duy khác biệt” vẫn còn hơi rối loạn. Rối loạn ở đây có nghĩa là chúng chưa được kiểm tra, có thể không thực tế (ở định dạng ban đầu được hình thành) và/hoặc nói chung là không phát triển. Các công cụ nghiên cứu áp dụng tư duy phi tuyến tính để đảm bảo rằng các ý tưởng sáng tạo có thể trở thành giải pháp trong thế giới thực.

Mục tiêu của bài này thực sự chỉ để giới thiệu cho bạn tất cả các khái niệm về tư duy phi tuyến tính. Vì vậy, nó cũng chỉ là “cưỡi ngựa xem hoa” – mặc dù bài đăng này đã khá dài. Tuy nhiên, tương tự như bản đồ tư duy, chủ đề này có rất nhiều tài nguyên có sẵn – sách, khóa học (trực tuyến & ngoại tuyến). Một số là miễn phí, và một số thì không. Lựa chọn như thế nào là ở bạn.

Gợi ý: Hãy bắt đầu sử dụng tư duy phi tuyến tính cùng với sơ đồ tư duy để lập biểu đồ cho các ý tưởng của bạn. Điều đó không chỉ đảm bảo rằng bạn sẽ nhớ các ý tưởng của mình mà còn hỗ trợ tìm kiếm sự liên kết giữa các ý tưởng và thậm chí có thể tạo thêm ý tưởng mới.

============================

Link phần 1: MIND MAPS® – Những công cụ của sự sáng tạo (Phần 1)

DG – Kim An Phan

Video liên quan

Chủ đề