🔥 เตรียมสอบสัมภาษณ์งาน ! มี Coding Interview ด้วย กังวลสุดดดด ๆ !!
.
หายห่วงได้เลย เพราะวันนี้แอดจะมาแนะนำ Coding Interview University หน้าเพจที่ให้เราได้ทบทวนความรู้เรื่อง Code และ Algorithm ตั้งแต่พื้นฐานจนขั้นสูงเลย ไม่ว่าจะเป็นเรื่อง :D
.
- Algorithmic complexity / Big-O / Asymptotic analysis
- Data Structures (Arrays, Linked Lists, Stack, Queue, Hash table)
- Binary search
- Bitwise operations
- Trees (Trees - Notes & Background, Binary search trees: BSTs, Heap / Priority Queue / Binary Heap, balanced search trees, traversals: preorder, inorder, postorder, BFS, DFS)
- Sorting ( selection, insertion, heapsort, quicksort, merge sort )
- Graphs ( directed, undirected, adjacency matrix, adjacency list
, traversals: BFS, DFS)
- Recursion
- Dynamic Programming
- Object-Oriented Programming
- Design Patterns
- Combinatorics (n choose k) & Probability
- NP, NP-Complete and Approximation Algorithms
- Caches
- Processes and Threads
- Testing
- Scheduling
- String searching & manipulations
- Tries
- Floating Point Numbers
- Unicode
- Endianness
- Networking
- System Design, Scalability, Data Handling
- Final Review
- Coding Question Practice
.
ก็มีให้แบบครบ เบิ้ม ๆ ไปเลยจ้าาา เอาเป็นว่า ถ้าใครคิดว่าตัวเรายังไม่พร้อม หรือ อยากฝึกสกิลก่อนสัมภาษณ์งานจริง แอดแนะนำเลยคร้าบบ <3
.
https://github.com/jwasham/coding-interview-university
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
「data structures and algorithm」的推薦目錄:
data structures and algorithm 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳貼文
🤓 หลายคนอาจเคยบ่น "เรียนเลขไปทำไม ไม่เห็นได้ใช้เลย"
อันนี้เป็นแค่ตัวอย่าง เพื่อให้รู้ว่าเลขที่เราเรียนตอนม.ปลาย
ไม่ควรทิ้งถ้าคิดจะเรียนคอมพิวเตอร์ ในระดับสูง
.
👉 1) สมการเชิงเส้น
เริ่มต้นจากสมการเส้นตรง ที่มีหน้าตาดังนี้ y=mx+c เรียกว่ารูปมาตรฐาน
- เมื่อ m เป็นความชัน
-ส่วน c เป็นจุดตัดแกน y
.
สมการเชิงเส้นเราจะได้เรียนในระดับ ม 4
พอในม.5 วิชา วิทยาการคำนวณ
ก็จะเห็นประโยชน์ของสมการเส้นตรงถูกนำไปใช้ในงาน data science (วิทยาการข้อมูล)
นำไปใช้วิเคราะห์ข้อมูลแบบ linear regression
.
กล่าวคือเมื่อเรามีข้อมูลย้อนหลังในอดีต
แล้วสามารถนำไปพล็อตลงบนกราฟแกน x กับ y
ผลปรากฏว่าข้อมูลมีความสัมพันธ์เป็นเส้นตรง
ในกรณีเราสามารถหาสมการเส้นตรงที่เหมาะสมสุด (optimize)
นำมาใช้พยากรณ์ข้อมูลล่วงหน้าในอนาคตได้
.
แต่ในกรณีที่ความสัมพันธ์ของข้อมูลพบว่าไม่ใช่เส้นตรง
เราสามารถใช้สมการที่ไม่ใช่เส้นตรง มาใช้พยากรณ์ข้อมูลก็ได้เช่นกัน
.
👉 2) เมทริกซ์
คือกลุ่มของจำนวนตัวเลข ที่เขียนเรียงกันเป็นรูปสี่เหลี่ยมผืนผ้าหรือจัตุรัส
นอกจากใช้แก้สมการหลายตัวแปรแล้ว
จะมีประโยชน์เวลานำไปประมวลภาพ (Image processing)
หรืองานพวกคอมพิวเตอร์วิชั่น (computer vision)
.
ต้องบอกอย่างนี้ว่า รูปภาพดิจิตอลที่เราเห็นเป็นสีสันสวยงาม
แต่ทว่าคอมไม่ได้มองเห็นเหมือนคน
มันมองเห็นเป็นเมทริกซ์ โดยข้างในเมทริกซ์ก็คือตัวเลขของค่าสี
และเราสามารถกระทำการคณิตศาสตร์กับรูปภาพได้
เช่น บวกลบ คูณหาร กับรูปภาพดิจิตอล ในมุมของเมทริกซ์
.
👉 3) ความน่าจะเป็น
ยกตัวอย่างเช่น ทฤษฏี Bayes' theorem
ทฤษฏีหนึงของความน่าจะเป็น
จะใช้หาว่าสมมติฐานใดน่าจะถูกต้องที่สุด โดยใช้ความรู้ก่อนหน้า (Prior Knowledge)
.
ทฤษีนี้ถูกนำไปใช้ในงานวิเคราะห์ข้อมูล รวมทั้งการเรียนรู้ของเครื่อง
เช่น จงหาความน่าจะเป็นที่ชาเขียวขวดนั้นจะผลิตจากโรงงานจากประเทศไทย
จงหาความน่าจะเป็นว่าผู้ป่วยจะเป็นโรคมะเร็ง เมื่อหายจากการติดเชื้อไวรัสโคโรนา
เป็นต้น
.
👉 4) แคลคูลัส
ตัวอย่างเช่น ถูกนำมาใช้ใน neural network
ซึ่งก็เครือข่ายประสาทเทียมที่เลียนแบบเซลล์สมอง
แต่จริงๆ ข้างในเครือข่ายจะประกอบไปด้วยน้ำหนัก
.
น้ำหนักที่ว่านี้มันก็คือตัวเลขจำนวนจริง ที่เริ่มต้นสุ่มขึ้นมา
แล้วเวลาจะหาค่าน้ำหนักที่เหมาะสม (optimize)
มันจะถูกปรับทีละเล็กทีละน้อย
โดยอาศัยหลักการเรื่องอนุพันธ์ หรือดิฟนั่นแหละ
.
👉 5) ตรรกศาสตร์
วิชานี้พูดถึง "ประพจน์" หมายถึงประโยคที่ให้ค่าออกมาเป็น True หรืด False
รวมถึงการใช้ตัวเชื่อมประพจน์แบบต่างๆ ไม่ว่าจะเป็น "และ" "หรือ" "ก็ต่อเมื่อ" เป็นต้น
.
ศาสตร์ด้านนี้เป็นพื้นฐานของระบบคอมพิวเตอร์
เพราะวงจรคอมพิวเตอร์พื้นฐาน มีแต่ตัวเลข 0 หรือ 1
จึงสามารถแทนด้วย False หรือ True ในทางตรรกศาสตร์
ไม่เพียงเท่านั้นวงจรอิเลคทรอนิกส์ ก็มีการดำเนินทางตรรกศาสตร์อีกด้วย
ไม่ว่าจะเป็น "และ" "หรือ" "ไม่" เป็นต้น
.
ยิ่งการเขียนโปรแกรม ยิ่งใช้เยอะ
เพราะต้องเปรียบเทียบเงื่อนไข True หรือ False
ในการควบคุมเส้นทางการทำงานของโปรแกรม
.
👉 6) ฟังก์ชัน
ฟังก์ชันคือความสัมพันธ์ จากเซตหนึ่งที่เรียกว่า 'โดเมน' ไปยังอีกเซตหนึ่งที่เรียกว่า 'เรนจ์' โดยที่สมาชิกตัวหน้าไม่ซ้ำกัน
ซึ่งคอนเซปต์ฟังก์ชันในทางคณิตศาสตร์
ก็ถูกนำไปใช้ในการเขียนโปรแกรมแบบ functional programming
.
👉 7) เรขาคณิตวิเคราะห์
ถูกนำไปใช้ในวิชาคอมกราฟิก หรือเกมส์
ในมุมมองของคนที่ใช้โปรแกรมวาดรูปต่างๆ หรือโปรแกรมสร้างแอนนิมเชั่นต่างๆ
เราก็แค่คลิกๆ ลากๆ ก็สร้างเสร็จแล้วใช่มั๊ยล่ะ
.
แต่หารู้หรือไม่ว่า เบื้องเวลาโปรแกรมจะวาดรูปทรง เช่น สี่เหลี่ยม วงรี ภาพตัดกรวยต่างๆ
ล้วนอาศัย เรขาคณิตวิเคราะห์ พล็อตวาดรูปทีละจุดออกมาให้เราใช้งาน
.
👉 8) ปีทาโกรัส
ทฤษฏีสามเหลี่ยมอันโด่งดังถูกนำไปใช้วัดระยะทางระหว่างจุดได้
ซึ่งจะมีประโยชน์ในการแยกแยะข้อมูล โดยใช้อัลกอริทึม
K-Nearest Neighbors (KNN)
ชื่อไทยก็คือ "ขั้นตอนวิธีการเพื่อนบ้านใกล้ที่สุด "
มันจะถูกนำไปใช้งานวิเคราะห์ข้อมูล รวมทั้งการเรียนรู้ของเครื่องอีกด้วย
ไม่ขอพูดเยอะเดี่ยว ม.5 ก็จะได้รู้จัก KNN ในวิชาวิทยาการคำนวณ
.
👉 9) ทฤษฏีกราฟเบื้องต้น
อย่างทฤษฏีกราฟออยเลอร์ (Eulerian graph)
ที่ได้เรียนกันในชั้น ม.5 จะมีประโยชน์ในวิชาคอม
เช่น ตอนเรียนในวิชา network ของคอมพิเตอร์ เพื่อหาเส้นทางที่ดี่สุดในการส่งข้อมูล
หรือจะมองโครงสร้างข้อมูลเป็นแบบกราฟก็ได้ ก็ลองนึกถึงลิงค์ต่างในเว็บไซต์ สามารถจับโยงเป็นกราฟได้ด้วยนะ
.
👉 10) เอกซ์โพเนนเชียล และลอการิทึม
เราอาจไม่เห็นการประยุกต์ใช้ตรงๆ นะครับ
แต่ในการประเมินประสิทธิภาพของอัลกอริทึม เวลาเขียนโปรแกรม
เขาจะใช้ Big O ขอไม่อธิบายเยอะแล้วกันเนอะ
เรื่องนี้มีเขียนอยู่ตำราวิทยาการคำนวณชั้นม.4 (ไปหาอ่านเอาได้)
.
ซึ่งเทอม Big O บางครั้งก็อาจเห็นอยู่ในรูปเอกซ์โพเนนเซียล หรือลอการิทึมนั่นเอง
ถ้าไม่เข้าใจว่า เอกซ์โพเนนเซียล หรือลอการิทึม คืออะไร
ก็ไม่จะอธิบายได้ว่าประสิทธิภาพของอัลอริทึมเราดีหรือแย่
.
+++++++
เป็นไงยังครับ สนใจอยากรู้ว่า เลข ม.ปลาย
สามารถนำไปใช้ศึกษาต่ออะไรอีกบ้างไหมเนี่ย
ถ้าอยากรู้ ผมเลยขอแนะนำหนังสือ (ขายของหน่อย)
.
หนังสือ "ปัญญาประดิษฐ์ (AI) ไม่ยาก"
เข้าใจได้ด้วยเลขม. ปลาย เล่ม 1 (เนื้อหาภาษาไทย)
ติดอันดับ Best seller ในหมวดหนังสือคอมพิวเตอร์ ของ MEB
.
เนื้อหาจะอธิบายปัญญาประดิษฐ์ (A) ในมุมมองเลขม.ปลาย
โดยปราศจากการโค้ดดิ้งให้มึนหัว
พร้อมภาพประกอบสีสันให้ดูอ่านง่าย
.
สนใจสั่งซ์้อได้ที่
👉 https://www.mebmarket.com/web/index.php…
.
ส่วนตัวอย่างหนังสือ ก็ดูได้ลิงค์นี้
👉 https://www.dropbox.com/s/fg8l38hc0k9b…/chapter_example.pdf…
.
ขออภัยเล่มกระดาษตอนนี้ยังไม่มี โทดทีนะครัชชช
.
✍เขียนโดย โปรแกรมเมอร์ไทย thai progammer
🤓 Many people may have complained that ′′ I have studied the number, why I haven't used it
This is just an example to know the number we studied in high school. The end.
Shouldn't leave if you think about studying computer at a high level.
.
👉 1) Linear equation
Starting from a straight line equation that looks like y=mx+c called standard photo.
- when m is steep
- c section is a y core cutting point
.
Linear equation, so we can study in level 4
Enough in the university. 5 Computational Science
You will see the benefits of a straight line equation. Used in data science (data science)
Linear regression data analysis
.
When we have data backwards in the past
Then can be taken to plot on the graph x with y
The result appears that the information has a straight line of relationships.
In case, we can find the most suitable straight line equation (optimize)
Presentation for future advance information
.
But in case the relationship of information finds it not a straight line.
We can also use equations that are not straight lines to predict information.
.
👉 2) Matrix
A group of numbers that are written in a square or square.
Apart from using to solve many variables.
It will be useful when you compilate photos. (Image processing)
Or computer vision work (computer vision)
.
This is what we have to say. The digital photos we see are beautiful.
But the computer doesn't see it as a human.
It's seen as a matrix. Inside the matrix is a number of colors.
And we can do math with pictures
For instance, subtract, multiply with digital photos in the matrix corner.
.
👉 3) Probability
For example, Bayes s' theorem theory
Theory of probability
Find out which hypothesis is most accurate using previous knowledge (Prior Knowledge)
.
This theory is applied to data analytics and machine learning.
For example, find the probability that green tea will be manufactured from Thailand's factory.
Consider the probability that patients have cancer when they recover from coronavirus infection.
Etc.
.
👉 4) Calculus
For example, being used in neural network
Which is also an artificial neural network that imitates brain cells.
But really in the network, it consists of weight
.
This weight is a random number that starts randomly.
Time will find the right weight (optimize)
It will be fined little by little
By principle of derivative or derivative.
.
👉 5) Logic
This subject is referring to ′′ plural ′′ meaning a sentence that gives value to True or False.
Includes using different types of plural connectors, whether it's ′′ and or when etc.
.
This aspect of computer system is fundamental.
Because basic computer circuits are only 0 or 1 numbers.
So it can be replaced with False or True in logic.
Not only that, the electronic circuit also has a logical action.
Whether it's ′′ and or no etc.
.
The more programming, the more I use.
Because we have to compare terms True or False
In controlling the program's working path
.
👉 6) function
Function is a relationship from one set called ' domain ' to another set called ' Range ' by unique member.
Which concepts function in mathematics
It was also applied to functional programming.
.
👉 7) Geometry analysis
Being applied to Computer, Graphics or Games
In view of people who use various drawing programs or animation programs.
We just click and drag. It's done. Right?
.
But I don't know that the program time will draw shapes like a rectangle, crop of various cones.
All in Geometry. Analyse the plot. Draw one at a time. Let us use it.
.
👉 8) Year Takorus
The famous triangle theory is applied to measure distance between spots.
It will be useful to digest data using algorithm.
K-Nearest Neighbors (KNN)
Thai name is ′′ nearest neighbourhood method
It will also be implemented, analyzed data, including machine learning.
I don't want to talk too much. Single. 5 I will know KNN in Calculation Theology.
.
👉 9) Preliminary Graph Theory
Theoretical Graph Oyler (Eulerian graph)
That we have studied in high school. 5 will be useful in computer class
For example, when studying in computer network subjects, find the best way to send information.
Or you can look at data structures as graphics. Think of different links on websites. You can be connected to a graph.
.
👉 10) m & LOGARIETY
We may not see the application frankly.
But in assessing performance of programming time algorithm.
He will use Big O. I don't want to explain too much.
This story is written in the textbook. Calculating in the university. 4 (Let's find it to read)
.
Big O semester may sometimes be seen in esponical or logarithm.
If you don't understand what Exponcial or Lokarithm is.
It doesn't explain how good or bad our alitum performance is.
.
+++++++
How are you? If you are interested, I want to know the number. The end.
What else can I apply to study?
If you want to know, I recommend the book (selling)
.
′′ Artificial Intelligence (AI) is not difficult ′′ book.
It can be understood by the number. End of book 1 (Thai language content)
Best seller ranked in MEB computer book category.
.
The contents will describe Artificial Intelligence (A) in view of the number. The end.
Without a code of dizzy
With colorful illustrations to see, easy to read.
.
If you are interested, you can order.
👉 https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjEwODI0NiI7fQ&fbclid=IwAR11zxJea0OnJy5tbfIlSxo4UQmsemh_8TuBF0ddjJQzzliMFFoFz1AtTo4
.
Personal like the book. You can see this link.
👉 https://www.dropbox.com/s/fg8l38hc0k9b0md/chapter_example.pdf?dl=0
.
Sorry, paper book. I don't have it yet. Sorry.
.
✍ Written by Thai programmer thai progammerTranslated
data structures and algorithm 在 國立陽明交通大學電子工程學系及電子研究所 Facebook 的最讚貼文
【演講】2019/11/19 (二) @工四816 (智易空間),邀請到Prof. Geoffrey Li(Georgia Tech, USA)與Prof. Li-Chun Wang(NCTU, Taiwan) 演講「Deep Learning based Wireless Resource Allocation/Deep Learning in Physical Layer Communications/Machine Learning Interference Management」
IBM中心特別邀請到Prof. Geoffrey Li(Georgia Tech, USA)與Prof. Li-Chun Wang(NCTU, Taiwan)前來為我們演講,歡迎有興趣的老師與同學報名參加!
演講標題:Deep Learning based Wireless Resource Allocation/Deep Learning in Physical Layer Communications/Machine Learning Interference Management
演 講 者:Prof. Geoffrey Li與Prof. Li-Chun Wang
時 間:2019/11/19(二) 9:00 ~ 12:00
地 點:交大工程四館816 (智易空間)
活動報名網址:https://forms.gle/vUr3kYBDB2vvKtca6
報名方式:
費用:(費用含講義、午餐及茶水)
1.費用:(1) 校內學生免費,校外學生300元/人 (2) 業界人士與老師1500/人
2.人數:60人,依完成報名順序錄取(完成繳費者始完成報名程序)
※報名及繳費方式:
1.報名:請至報名網址填寫資料
2.繳費:
(1)親至交大工程四館813室完成繳費(前來繳費者請先致電)
(2)匯款資訊如下:
戶名: 曾紫玲(國泰世華銀行 竹科分行013)
帳號: 075506235774 (國泰世華銀行 竹科分行013)
匯款後請提供姓名、匯款時間以及匯款帳號後五碼以便對帳
※將於上課日發放課程繳費領據
聯絡方式:曾紫玲 Tel:03-5712121分機54599 Email:tzuling@nctu.edu.tw
Abstract:
1.Deep Learning based Wireless Resource Allocation
【Abstract】
Judicious resource allocation is critical to mitigating interference, improving network efficiency, and ultimately optimizing wireless network performance. The traditional wisdom is to explicitly formulate resource allocation as an optimization problem and then exploit mathematical programming to solve it to a certain level of optimality. However, as wireless networks become increasingly diverse and complex, such as high-mobility vehicular networks, the current design methodologies face significant challenges and thus call for rethinking of the traditional design philosophy. Meanwhile, deep learning represents a promising alternative due to its remarkable power to leverage data for problem solving. In this talk, I will present our research progress in deep learning based wireless resource allocation. Deep learning can help solve optimization problems for resource allocation or can be directly used for resource allocation. We will first present our research results in using deep learning to solve linear sum assignment problems (LSAP) and reduce the complexity of mixed integer non-linear programming (MINLP), and introduce graph embedding for wireless link scheduling. We will then discuss how to use deep reinforcement learning directly for wireless resource allocation with application in vehicular networks.
2.Deep Learning in Physical Layer Communications
【Abstract】
It has been demonstrated recently that deep learning (DL) has great potentials to break the bottleneck of the conventional communication systems. In this talk, we present our recent work in DL in physical layer communications. DL can improve the performance of each individual (traditional) block in the conventional communication systems or jointly optimize the whole transmitter or receiver. Therefore, we can categorize the applications of DL in physical layer communications into with and without block processing structures. For DL based communication systems with block structures, we present joint channel estimation and signal detection based on a fully connected deep neural network, model-drive DL for signal detection, and some experimental results. For those without block structures, we provide our recent endeavors in developing end-to-end learning communication systems with the help of deep reinforcement learning (DRL) and generative adversarial net (GAN). At the end of the talk, we provide some potential research topics in the area.
3.Machine Learning Interference Management
【Abstract】
In this talk, we discuss how machine learning algorithms can address the performance issues of high-capacity ultra-dense small cells in an environment with dynamical traffic patterns and time-varying channel conditions. We introduce a bi adaptive self-organizing network (Bi-SON) to exploit the power of data-driven resource management in ultra-dense small cells (UDSC). On top of the Bi-SON framework, we further develop an affinity propagation unsupervised learning algorithm to improve energy efficiency and reduce interference of the operator deployed and the plug-and-play small cells, respectively. Finally, we discuss the opportunities and challenges of reinforcement learning and deep reinforcement learning (DRL) in more decentralized, ad-hoc, and autonomous modern networks, such as Internet of things (IoT), vehicle -to-vehicle networks, and unmanned aerial vehicle (UAV) networks.
Bio:
Dr. Geoffrey Li is a Professor with the School of Electrical and Computer Engineering at Georgia Institute of Technology. He was with AT&T Labs – Research for five years before joining Georgia Tech in 2000. His general research interests include statistical signal processing and machine learning for wireless communications. In these areas, he has published around 500 referred journal and conference papers in addition to over 40 granted patents. His publications have cited by 37,000 times and he has been listed as the World’s Most Influential Scientific Mind, also known as a Highly-Cited Researcher, by Thomson Reuters almost every year since 2001. He has been an IEEE Fellow since 2006. He received 2010 IEEE ComSoc Stephen O. Rice Prize Paper Award, 2013 IEEE VTS James Evans Avant Garde Award, 2014 IEEE VTS Jack Neubauer Memorial Award, 2017 IEEE ComSoc Award for Advances in Communication, and 2017 IEEE SPS Donald G. Fink Overview Paper Award. He also won the 2015 Distinguished Faculty Achievement Award from the School of Electrical and Computer Engineering, Georgia Tech.
Li-Chun Wang (M'96 -- SM'06 -- F'11) received Ph. D. degree from the Georgia Institute of Technology, Atlanta, in 1996. From 1996 to 2000, he was with AT&T Laboratories, where he was a Senior Technical Staff Member in the Wireless Communications Research Department. Currently, he is the Chair Professor of the Department of Electrical and Computer Engineering and the Director of Big Data Research Center of of National Chiao Tung University in Taiwan. Dr. Wang was elected to the IEEE Fellow in 2011 for his contributions to cellular architectures and radio resource management in wireless networks. He was the co-recipients of IEEE Communications Society Asia-Pacific Board Best Award (2015), Y. Z. Hsu Scientific Paper Award (2013), and IEEE Jack Neubauer Best Paper Award (1997). He won the Distinguished Research Award of Ministry of Science and Technology in Taiwan twice (2012 and 2016). He is currently the associate editor of IEEE Transaction on Cognitive Communications and Networks. His current research interests are in the areas of software-defined mobile networks, heterogeneous networks, and data-driven intelligent wireless communications. He holds 23 US patents, and have published over 300 journal and conference papers, and co-edited a book, “Key Technologies for 5G Wireless Systems,” (Cambridge University Press 2017).
data structures and algorithm 在 JavaScript Algorithms and Data Structures - GitHub 的推薦與評價
Algorithms and data structures implemented in JavaScript with explanations and links to further readings - GitHub - trekhleb/javascript-algorithms: ... ... <看更多>