Below you will find pages that utilize the taxonomy term “数据结构”
October 19, 2018
数据结构与算法
"\u003cp\u003e平时开发中,一般很少用到手动来写算法的情况,但实际上我们一直在接触一些数据结构与算法,如JAVA中的ArrayList 就用到了数据结构与算法,从名字可以看到了用到了Array这种数组结构和链表结构。下面根据目前学习的情况做一个总结。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e数据结构\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e我们常见的数组结构一般有:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eArray数组、\u003c/li\u003e\n\u003cli\u003eStack栈、\u003c/li\u003e\n\u003cli\u003eHeap堆、\u003c/li\u003e\n\u003cli\u003eQueue队列\u003c/li\u003e\n\u003cli\u003eHash 哈希类型\u003c/li\u003e\n\u003cli\u003eLinkedList 链表,其中又分为单向链表、双向链表、还有最少用的环形链表\u003c/li\u003e\n\u003cli\u003eTree 这个Tree分的太多了,如B-Tree、 B+Tree(mysql使用)、Binary Search Tree二叉搜索树 、AVL高度平衡树、Red Black Tree红黑树 等\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/data-struct.png\" alt=\"数据结构\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.bigocheatsheet.com/\"\u003ehttp://www.bigocheatsheet.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e算法\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e一般开发中用到的基本上排序算法居多,而算法大体上又分为比较排序和非比较排序。我们常用的比较排序算法有(参考: \u003ca href=\"http://www.cnblogs.com/eniac12/p/5329396.html\"\u003ehttp://www.cnblogs.com/eniac12/p/5329396.html\u003c/a\u003e):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e快速排序 (Quick Sort)\u003c/li\u003e\n\u003cli\u003e冒泡排序 (Bubble Sort) …\u003c/li\u003e\u003c/ul\u003e"
October 13, 2018
Heap And Stack 堆与栈的区别
"\u003cp\u003e\u003cstrong\u003e堆与栈的区别\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e推荐: \u003ca href=\"https://www.programmerinterview.com/index.php/data-structures/difference-between-stack-and-heap/\"\u003ehttps://www.programmerinterview.com/index.php/data-structures/difference-between-stack-and-heap/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e栈是上下顺序存储的,且“先进后出LIFO”规则,只能删除顶部的元素,而堆是没有特定的顺序的存储,您可以删除任意元素。堆分配需要维护分配的内存和未分配的内存的完整记录,以及一些开销维护以减少碎片,找到足够大以适应请求大小的连续内存段,等等。内存可以随时释放,留出自由空间。有时,内存分配器将执行维护任务,比如通过将分配的内存到处移动来对内存进行碎片整理,或者在运行时进行垃圾收集——当内存不再处于作用域中时对其进行标识并释放它。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e栈用在线程中,程序执行时由线程创建有限数量的栈空间,当线程结束的时候会自动回收,属于系统级。\n堆一般是由应用程序在启动时创建,由应用程序回收,属于应用级。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThe stack is attached to a thread, so when the thread exits the stack is reclaimed. The heap is …\u003c/p\u003e\u003c/blockquote\u003e"